1、自定义消息的添加
项目->鼠标右击->class wizard->Message->add custom message->输入消息名称->OK
此时报错 WM_MY_MESSAGE 不识别,在头文件添加#define WM_MY_MESSAGE WM_USER+0x001
发送消息为:
HWND hWnd = ::FindWindow(NULL, _T("Seer English"));
::SendNotifyMessage(hWnd, WM_MY_MESSAGE, NULL, OPEN);//发送OPEN消息,OPEN为自定义类型
在下面写接受端
afx_msg LRESULT CMFCShareDlg::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
if (lParam == OPEN)
{
//do something else
}
}
2、系统消息
例如给系统发送close消息:
发送端:
::SendNotifyMessage(hWnd, WM_SYSCOMMAND, SC_CLOSE, NULL);
接受函数:
void CMFCShareDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else
{
if (nID == SC_CLOSE)
{
//do something else
}
}
CDialogEx::OnSysCommand(nID, lParam);
}