我正在尝试创建两个窗口。GetMessage将从两个窗口获取消息。如果我传递第二个参数(HWND)给它。它只会从这个窗口获取消息。如何从第二个窗口获取消息?
qzlgjiam1#
GetMessage的hWnd参数是一个筛选器。它限制从消息队列中出队的消息集。您可以传递以下三个值之一:
GetMessage
hWnd
NULL
-1
如果你想处理调用线程所拥有的窗口的所有消息,传递NULL。你很少想过滤特定窗口的消息,如果你这样做,你最终会想执行一个未经过滤的GetMessage()调用。否则,你会得到一个损坏的应用程序,如The dangers of filtering window messages中所解释的。
GetMessage()
1条答案
按热度按时间qzlgjiam1#
GetMessage
的hWnd
参数是一个筛选器。它限制从消息队列中出队的消息集。您可以传递以下三个值之一:NULL
:未应用过滤-1
:仅检索线程消息如果你想处理调用线程所拥有的窗口的所有消息,传递
NULL
。你很少想过滤特定窗口的消息,如果你这样做,你最终会想执行一个未经过滤的GetMessage()
调用。否则,你会得到一个损坏的应用程序,如The dangers of filtering window messages中所解释的。