Форум: "WinAPI";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
ВнизИспользование sendmessage Найти похожие ветки
← →
Vilux © (2004-03-15 19:19) [0]Здравствуйте, мне надо из одной программы передать данные в другую программу посредством команды sendmessage. Например надо передать строку, как мне это реализовать? Как организовать прием данных в одной программе и отсылку в другой?
← →
Vilux © (2004-03-15 19:19) [0]Здравствуйте, мне надо из одной программы передать данные в другую программу посредством команды sendmessage. Например надо передать строку, как мне это реализовать? Как организовать прием данных в одной программе и отсылку в другой?
← →
Гаврила (2004-03-15 19:28) [1]для начала нужно найти handle окна-примемника сообщения
если строку передать, но наверно надо посылать WM_COPYDATA
← →
Гаврила (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;
← →
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.
← →
Юрий Зотов © (2004-03-15 19:55) [3]Vilux © (15.03.04 19:48) [2]
Если передаете не более 2х4 байт и это не адреса, то можно использовать любое сообщение. Если нет - только WM_COPYDATA.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.045 c