Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

Использование sendmessage   Найти похожие ветки 

 
Vilux ©   (2004-03-15 19:19) [0]

Здравствуйте, мне надо из одной программы передать данные в другую программу посредством команды sendmessage. Например надо передать строку, как мне это реализовать? Как организовать прием данных в одной программе и отсылку в другой?


 
Гаврила   (2004-03-15 19:28) [1]

для начала нужно найти handle окна-примемника сообщения
если строку передать, но наверно надо посылать WM_COPYDATA


 
Vilux ©   (2004-03-15 19:48) [2]

Спасибо, по поиску команды WM_COPYDATA нашел работающий пример

Как передать строку другому приложению  
-----------------------------------------------------------------
получатель:

procedure ReceiveMessage (var Msg: TMessage);
message WM_COPYDATA;
...
procedure TFormReceive.ReceiveMessage;
var
 pcd: PCopyDataStruct;
begin
 pcd := PCopyDataStruct(Msg.LParam);
 Caption := PChar(pcd.lpData);
end;

отправитель:

procedure TFormXXX.Button1Click(Sender: TObject);
var
 cd: TCopyDataStruct;
begin
 cd.cbData := Length(Edit1.Text) + 1;
 cd.lpData := PChar(Edit1.Text);
 SendMessage(FindWindow("TFormReceive", nil), WM_COPYDATA, 0, LParam(@cd));
end;


 
Юрий Зотов ©   (2004-03-15 19:55) [3]

Vilux ©   (15.03.04 19:48) [2]

Если передаете не более 2х4 байт и это не адреса, то можно использовать любое сообщение. Если нет - только WM_COPYDATA.



Страницы: 1 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.032 c
6-1079111211
LanLan
2004-03-12 20:06
2004.04.11
Получение данных от клиентских компов ServerSocket1ClientRead


3-1079386235
dfg
2004-03-16 00:30
2004.04.11
DBComboBox показывает только одну строку


3-1079467510
malush
2004-03-16 23:05
2004.04.11
Помогите сделать вычеслимое поле!!!


3-1081946364
Rule
2004-04-14 16:39
2004.04.11
Read-only+Firebird1.0+ Delphi 7+ Windows


14-1080142691
panov
2004-03-24 18:38
2004.04.11
Двадцатка самых популярных вопросов.