自定义消息实现进程间的通信
想要用消息实现进程间的通信,则需要在这两个程序中定义或注册相同的消息,才能保证数据
通信的进行
消息分为两种:1,系统消息2,用户自定义消息。
系统消息的定义是从0到0x3FF,用户可以使用0x400到0x7FFF定义自己的消息。
windows 已经把0x400定义为 WM_USER。用户在定义自己的消息的时候可以在 WM_USER
上加一个值,注意:不能超出windows提供的范围。
例如:
#define WM_MSG WM_USER+10;
还有种自定义窗口消息的方法使用RegisterWindowsMessage()函数来注册这个消息,可以不必考虑
windows提供的范围。
例如:
const UINT wm_nRegMsg = RegisterWindowsMessage("reg_data");
具体过程:
(1)发送端
1、首先定义消息在C****Dlg.cpp中 #define WM_COMM WM_USER + 10
2、为编辑框添加int型变量m_strUserMsg
发送按钮实现代码:
UpdateData(TRUE);
CWnd *pWnd = CWnd::FindWindow(NULL,_T("DataRecv"));
if (pWnd == NULL)
{
MessageBox(_T("获取句柄失败!"));
return ;