进程之间通讯的代码:
var
SendText: string;
SendDataStruct: CopyDataStruct;
begin
SendText := 'Send';
SendDataStruct.cbData := length(Sendtext);
SendDataStruct.lpData := @SendText[1];
SendMessage(FindWindow(PCHAR('TForm1'), PCHAR('form1')), WM_CopyData, Application.Handle, lparam(@SendDataStruct));
end;
接收者:
procedure DataIn(var DataMessage: TWMCopyData); message wm_copydata;
procedure DataIn(var DataMessage: TWMCopyData);
var
ReceieveData : CopyDataStruct;
temp: pchar;
ReceieveStr : string;
begin
ReceieveData := DataMessage.CopyDataStruct^;
temp := ReceieveData.lpdata;
ReceieveStr := string(temp);
end;
不一定要用windows定义的消息,还可以自定义消息,如:
WM_MYMSG=WM_USER+1001;
然后在Application.OnMessage处写代码,截获消息并做相应处理