跨进程发送消息数据(发送WM_COPYDATA消息,够简单的)
Posted 朝闻道
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跨进程发送消息数据(发送WM_COPYDATA消息,够简单的)相关的知识,希望对你有一定的参考价值。
1 //1.发送窗体 2 procedure TForm2.Button1Click(Sender: TObject); 3 var 4 h: HWND; 5 Size: Integer; 6 CopyDataStruct: TCopyDataStruct; 7 begin 8 h := FindWindow(nil, \'接收窗口\'); { 按标题查找目标窗口 } 9 if h > 0 then 10 begin 11 Size := ByteLength(Edit1.Text) + 2; { 多出的两个字节用于后面的 #0 } 12 CopyDataStruct.lpData := PChar(Edit1.Text + #0); { 要发送的字符串, #0 表示 PChar 结束} 13 CopyDataStruct.dwData := WM_COPYDATA; { 指定消息类型 } 14 CopyDataStruct.cbData := Size; { 指定要发送的数据的大小 } 15 SendMessage(h, WM_COPYDATA, 0, Integer(@CopyDataStruct)); { 发送 } 16 end; 17 end; 18 19 //2.接收窗体 20 //2.1定义接收事件 21 protected 22 procedure WMCopyData(var Message: TWMCopyData); message WM_COPYDATA; 23 24 //2.2执行接收事件事 25 procedure TForm2.WMCopyData(var Message: TWMCopyData); 26 begin 27 Memo1.Lines.Add(PChar(Message.CopyDataStruct.lpData)); 28 end; 29 30 //2.3改变窗体名 31 procedure TForm2.FormCreate(Sender: TObject); 32 begin 33 Caption := \'接收窗口\'; 34 end;
http://www.cnblogs.com/FKdelphi/p/5843118.html
以上是关于跨进程发送消息数据(发送WM_COPYDATA消息,够简单的)的主要内容,如果未能解决你的问题,请参考以下文章