MFC - 进程间通信 SendMessage
一、发送端:
1.自定义消息:
#define WM_MY_MESSAGE WM_USER+10086
2.发送消息:
void CSenderDlg::OnBnClickedBtnSender()
{
// 向发送端发送消息
CWnd * pWnd = CWnd::FindWindow(NULL,_T("进程间通讯 - SendMessage 接收端"));
if (NULL == pWnd)
{
AfxMessageBox(_T("接收端没有运行"));
return ;
}
pWnd->SendMessage(WM_MY_MESSAGE, 0, 0);
}
二、接收端:
1. 自定义消息:必须和发送端的消息一致!
#define WM_MY_MESSAGE WM_USER+10086
2.CXXXDlg.h中声明:
public: // 必须是public
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
3.CXXXDlg.h中消息映射和实现:
3.1 消息映射: // 自定义消息映射
ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage)
3.2 实现:
LRESULT CReciverDlg::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
if(wParam == 0 && lParam == 0)
{
SetDlgItemText(IDC_STATIC1,_T("接收到消息!!!"));
}
return 0;
}