怎样实现无窗口消息机制?

时间:2021-10-08 05:36:16
有一些问题,windows的消息都必须是发给窗口的吗?如果没有窗口怎样将消息循环关联到消息处理函数(相当于窗口处理函数)?

5 个解决方案

#1


可以使用等待时间函数,不需要窗口的。至于消息可以用事件代替触发。

#2


消息首先是发给线程,你给getmessage的窗口参数传NULL即可捕捉所有的本线程的消息

#3


可以建立一个Message-Only窗口


Message-Only Windows
A message-only window enables you to send and receive messages. It is not visible, has no Z order, cannot be enumerated, and does not receive broadcast messages. The window simply dispatches messages. 

To create a message-only window, specify the HWND_MESSAGE constant or a handle to an existing message-only window in the hWndParent parameter of the CreateWindowEx function. You can also change an existing window to a message-only window by specifying HWND_MESSAGE in the hWndNewParent parameter of the SetParent function. 

To find message-only windows, specify HWND_MESSAGE in the hwndParent parameter of the FindWindowEx function. In addition, FindWindowEx searches message-only windows as well as top-level windows if both the hwndParent and hwndChildAfter parameters are NULL. 

#4


直接PostMseeage或者SendMessage

#5


回调函数

#1


可以使用等待时间函数,不需要窗口的。至于消息可以用事件代替触发。

#2


消息首先是发给线程,你给getmessage的窗口参数传NULL即可捕捉所有的本线程的消息

#3


可以建立一个Message-Only窗口


Message-Only Windows
A message-only window enables you to send and receive messages. It is not visible, has no Z order, cannot be enumerated, and does not receive broadcast messages. The window simply dispatches messages. 

To create a message-only window, specify the HWND_MESSAGE constant or a handle to an existing message-only window in the hWndParent parameter of the CreateWindowEx function. You can also change an existing window to a message-only window by specifying HWND_MESSAGE in the hWndNewParent parameter of the SetParent function. 

To find message-only windows, specify HWND_MESSAGE in the hwndParent parameter of the FindWindowEx function. In addition, FindWindowEx searches message-only windows as well as top-level windows if both the hwndParent and hwndChildAfter parameters are NULL. 

#4


直接PostMseeage或者SendMessage

#5


回调函数