进程间窗口广播消息

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;
    }
这样不通过窗口句柄就可以在窗口之间发送消息。

你可能感兴趣的:(Windows)