看程序中碰到一个监视类,里面的核心函数就是这个PostMessage()一直不懂有什么用。
网上对这个函数的讲解也不是很多,这里将零碎的知识进行归纳一下。
简单的说就是将信息发送到消息队列并通知窗口取消息。
我们要实现窗口之间的通信,这是个比较难的问题,一般的方法有在A窗口里面定义B窗口的指针,然后通过指针获取B窗口的消息。
在Qt里面能够通过信号与槽的方法实现消息之间的传递,而这个的PostMessage()函数也能做到将窗口B的消息发送给A的作用。
int PostMessageA
{
HWND hWnd;
UINT Msg;
WPARAM wParam;
LPARAM lParam;
}
//第一个参数,窗口句柄。
//第二个,消息值 以WM_开头的常量 具体查MSDN。。
//比如 WM_LBUTTONDOWN 鼠标左键按下, 比如 PostMessageA(hWnd, WM_LBUTTONDOWN,0,0)
//就相当于在这个窗口单击了一下鼠标左键
//
//第三个,消息附加参数,其作用和第二个参数Msg有关
//第四个, 同上
因篇幅问题不能全部显示,请点此查看更多更全内容