龙七

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一:发送方

View Code
var
  hwnd:THandle;
  cpStruct:COPYDATASTRUCT;
begin
  hwnd:
=FindWindow(nil,PChar(FORMNAME));
  
if hwnd<>0 then
  
begin
    cpStruct.dwData:
=0;
    cpStruct.cbData:
=length('test')+1;
    cpStruct.lpData:
=pchar('test');
    SendMessage(Handle,WM_COPYDATA,
0,Cardinal(@cpStruct));//lParam和wParam的顺序不能交换,具体原因还未找到
  
end;
end;

二:接收方

View Code
procedure WMCopyData(var Message: TWMCopyData); message WM_COPYDATA;

procedure TForm1.WMCopyData(var Message: TWMCopyData);
begin
  
if message.Msg=WM_COPYDATA then
    Self.Text:
=PChar(message.CopyDataStruct.lpData)
  
else
    ShowMessage(
'方法不对');
end;

 

 

posted on 2011-07-14 13:59  龙七  阅读(275)  评论(0编辑  收藏  举报