c++ 在Windows中GetMessage中的HWND有什么用?

3lxsmp7m  于 4个月前  发布在  Windows
关注(0)|答案(1)|浏览(70)

我正在尝试创建两个窗口。GetMessage将从两个窗口获取消息。
如果我传递第二个参数(HWND)给它。它只会从这个窗口获取消息。如何从第二个窗口获取消息?

qzlgjiam

qzlgjiam1#

GetMessagehWnd参数是一个筛选器。它限制从消息队列中出队的消息集。您可以传递以下三个值之一:

  • NULL:未应用过滤
  • 有效的窗口句柄:仅检索此窗口的消息
  • -1:仅检索线程消息

如果你想处理调用线程所拥有的窗口的所有消息,传递NULL。你很少想过滤特定窗口的消息,如果你这样做,你最终会想执行一个未经过滤的GetMessage()调用。否则,你会得到一个损坏的应用程序,如The dangers of filtering window messages中所解释的。

相关问题