读书人

两个程序之间怎么通信

发布时间: 2012-04-07 17:31:50 作者: rapoo

两个程序之间如何通信
比如有个A。B两个程序
A有个label是用来显示的
B里有个文本框,一个按钮 点击按钮 文本框里的文字显示在B的label里
不借助本地文件和数据库

我先取到A的句柄 然后遍历子窗口句柄 然后怎么改label的caption啊 setwindowtext不行
或者有什么其他控件更适合放文本内容 这些内容将来是不显示的
或者有其他方式的 只要能通信的就好

先谢过了



[解决办法]

Delphi(Pascal) code
{用TCopyDataStruct发消息}{发送方:}procedure SendMsg(AppName,Msg:string);var  ds: TCopyDataStruct;begin  ds.cbData:=Length(Msg)+1;  GetMem(ds.lpData,ds.cbData);  try  StrCopy(ds.lpData,PChar(Msg));  SendMessage(FindWindow(nil,Pchar(AppName)), WM_COPYDATA, 0, Integer(@ds));  finally    FreeMem(ds.lpData,ds.cbData);  end;end;{调用:}SendMsg('你的程序名称','Hello World');{接收方:}public   procedure WMCopyData(var Msg: TWMCOPYDATA); message WM_COPYDATA;procedure WMCopyData(var Msg: TWMCOPYDATA);beginshowmessage(StrPas(Msg.CopyDataStruct^.lpData));end; 

读书人网 >.NET

热点推荐