关于一个程式向另一程式发送内容的问题(100分)

  • 主题发起人 主题发起人 llo2003
  • 开始时间 开始时间
L

llo2003

Unregistered / Unconfirmed
GUEST, unregistred user!
请问怎样才可以将程式A的Edit框里面的内容发到程式B的EDIT框里面(注:B里有很多EDIT,我只想发送到EDIT1) ;还有,假如我不知道B的EDIT名称,请问我怎样才可以知道B的EDIT框的名称?  还有,A程式怎能样才可以获取程式B的DBGRID的内容?  请大家帮帮忙,谢谢!
 
对啊,消息!
 
FindWindow找到句柄,然后postMessage
 
FindWindowEx得到Edit的句柄
 
两个程序之间,<br>你要试试了。
 
用传说中的“钩子技术”。<br>那个技术本人不懂。<br><br>
 
利用wm_copydate消息进行进程间通信<br><br><br>发送端:<br><br>const<br> WM_MYMSG = WM_USER+10000;//用户判断是谁发的消息<br><br>procedure Tform_main.SendThisMessage;<br>var<br>&nbsp; &nbsp; msg : pchar;<br>&nbsp; &nbsp; DataBuffer: TCopyDataStruct;<br>&nbsp; <br>begin<br>msg:=pchar('hello world');<br><br>DataBuffer.dwData := WM_MYMSG;<br>DataBuffer.cbData := strlen(msg)+(1 * SizeOf(Char));<br>DataBuffer.lpData := msg;<br><br>//必须用 SendMessage<br>SendMessage( FindWindow(nil,'my window'),WM_COPYDATA,0,Longint(@DataBuffer))<br><br><br>end;<br><br><br>接收端:<br><br>procedure TMainForm.WMCopyData(var M: TMessage);<br>var<br> str : string;<br>begin<br>&nbsp; { Check wParam to ensure we know WHO sent us the WM_COPYDATA message }<br>&nbsp; if PCopyDataStruct(M.lParam)^.dwData = WM_MYMSG then<br>&nbsp; &nbsp; { When WM_COPYDATA message is received, the lParam points to}<br>&nbsp; &nbsp; Showmessage(PChar(PCopyDataStruct(M.lParam)^.lpData));<br>&nbsp; &nbsp; str := string(PChar(PCopyDataStruct(M.lParam)^.lpData));//如果需要为string,必须转换!!<br>&nbsp; &nbsp; Showmessage( str );<br>end;<br><br><br><br>
 
这样的东西你在大富翁里找,有N多个答案
 
多人接受答案了。
 
后退
顶部