HWND_BROADCAST可以在窗口之间广播消息
在MSDN中的描述:
消息被发布到系统中的所有顶级窗口,包括禁用或隐藏的无主窗口,重叠窗口和弹出窗口。该消息未发布到子窗口。
这个消息可以发送给Windows系统所有的顶层窗口,包括禁用或不可见的未拥有窗口,重叠窗口,弹出窗口,子窗口除外
1.首先定义消息
UINT WM_ADDR = RegisterWindowMessage(_T("WM_ADDR"));
注意:发送端和接收端都需要注册此消息
2.其次处理消息发送端,例如
PostMessage(HWND_BROADCAST,WM_ADDR,0,0);或
SendMessage (HWND_BROADCAST,WM_ADDR,0,0)
接收端,例如: 宏声明如下: ON_REGISTERED_MESSAGE(WM_ADDR,OnAddr) 函数声明: LRESULT OnAddr(WPARAM wParam,LPARAM lParam); 函数定义: LRESULT CDlg :: OnAddr(WPARAM wParam,LPARAM lParam) { return 0; } 这样不通过窗口句柄就可以在窗口之间发送消息。