进程之间的通迅方式有好几种,这篇介绍用自己义消息的方法来做进程窗体间通迅。
编译器选Bcb,以下代码都在bcb下测试。稍作修改也可以用到其它环境中。
下面来讲下具体实现自定义消息进程通信
1.先定义消息标识:
1 |
#define WM_USER_1 (WM_USER+1) |
2.定义消息处理函数
1 2 3 4 |
void __fastcall TForm1::Test(TMessage Message) { Edit1->Text = "收到消息"; } |
3.窗体头文件中加入消息处理宏
1 2 3 |
BEGIN_MESSAGE_MAP MESSAGE_HANDLER(WM_USER_1, TMessage, Test) END_MESSAGE_MAP(TForm) |
4.测试消息通信(同进程窗体)
1 |
SendMessage(this, WM_USER_1, NULL, NULL); |
5.测试消息通信(不同进程窗体)
1 |
SendMessage(FindWindow("TForm1","TestFrm"), WM_USER_1, NULL, NULL); |
进程之间用消息通信具体步骤方法就是这样。以下是测试结果
更多关于这两函数介绍:SendMessage函数 FindWindow函数