涅
涅磐的凤凰
Unregistered / Unconfirmed
GUEST, unregistred user!
我需要对现有的软件进行修改,涉及进程间消息传递问题。为了简化问题,我做了2个测试程序来模拟。请各位高手指教。<br><br>测试程序如下:<br><br>发送消息的程序 SendData, 接收消息的程序 GetData; 2个程序的界面都一样,只有一个窗体和一个按钮。<br><br><br>操作步骤:<br>1. 同时运行这2个程序;<br>2. 点击 SendData 的 button1,发送一个消息给GetData;<br>3. GetData 接收到消息后,自动执行 TGetData.button1click(nil);<br><br><br>其中 GetData 的按钮事件如下<br>procedure TGetData.Button1Click(Sender: TObject);<br>begin<br> showmessage('hello world!');<br>end;<br><br> SendData 的按钮事件如下<br>procedure TSendData.Button1Click(Sender: TObject);<br>var<br> Found: THandle;<br>begin<br> Found := FindWindow(nil, 'TGetData'); //得到GetData的句柄<br> if Found <> 0 then<br> // SendMessage(Found , ?, ? , ?); <br> // 这里传递一个消息给 GetData,让 GetData自 <br> // 动点击TGetData.button1。但我不知道怎么填<br> else<br> showmessage('GetData 未运行');<br>end;<br><br><br>现在我想在 procedure TSendData.Button1Click(Sender: TObject); 过程中加入一些代码,功能是发送一个消息给 GetData,让 GetData自<br><br>动点击TGetData.button1, 也就是上面没填完的代码; 还需要在GetData中加入一个过程,功能是接收处理 SendData发来的消息,也就是接收<br><br>到消息后自动执行button1中的代码(这个功能,用哪个API函数?)<br><br>请问这两段代码如何写?