发送消息进程1:
procedure TForm1.Button1Click(Sender: TObject);
type
TT = packed record
x: integer;
y: integer;
...
end;
var
A: TT;
begin
A.x := 23;
A.y := 34;
...
SendMessage(HWND_BROADCAST, wm_copydata, 2, integer(@A));
end;
接收消息的进程2:
procedure TForm1.WndProc(var Message: TMessage);
type
TT = packed record
x: integer;
y: integer;
...
end;
var
T: TT;
C: TCopyDataStruct;
begin
if message.Msg = WM_COPYDATA then
begin
C := TCopyDataStruct(Pointer(Message.LParam)^);
T := TT(C.lpData^);
memo1.Lines.Add('x:' + inttostr(T.x));
memo1.Lines.Add('y:' + inttostr(T.y));
...
end
else
inherited;
end;