win32:GUI消息的可用事件对象?

时间:2013-06-14 08:40:49

标签: multithreading winapi events object

是否可以创建一个事件对象,当GUI消息可用时,该事件对象会发出信号,例如,可以创建一个事件对象来表示套接字上是否存在数据?我们的想法是使用WaitMultipleEvents来处理GUI上发生的事情或者到达TCP / IP套接字的请求。

我将整个客户端/服务器通信内容委托给后台线程,如果这不是QuickTime应用程序(QuickTime相当古怪,涉及多线程,至少在win32上)。

BTW,可以使用专用函数来移动/调整大小/重命名在另一个线程上创建的窗口 - 或者是否需要明确发布消息?

3 个答案:

答案 0 :(得分:2)

没有此类事件表示Windows消息可用。解决方案是以Windows消息而不是事件的形式获取套接字通知。 WSAAsyncSelect在套接字中配置此模式。这使您可以在一个线程中使用消息循环来获取GUI消息和套接字通知。

答案 1 :(得分:2)

队列中的消息没有可等待的对象,但是有一个等待函数会等待队列中的等待对象消息。请参阅MsgWaitForMultipleObjects

答案 2 :(得分:0)

感谢您的回答。实际上,我在其他地方提醒过MsgWaitForMultipleObjects,并使用它(code extract: