【发布时间】:2013-06-14 08:40:49
【问题描述】:
是否可以创建一个在 GUI 消息可用时发出信号的事件对象,例如可以创建一个事件对象来表示套接字上存在数据?我们的想法是使用 WaitMultipleEvents 来处理 GUI 上发生的事情或到达 TCP/IP 套接字的请求。
如果这不是 QuickTime 应用程序,我会将整个客户端/服务器通信内容委托给后台线程(QuickTime 在多线程方面相当古怪,至少在 win32 上)。
顺便说一句,是否可以使用专用函数来执行移动/调整大小/重命名在另一个线程上创建的窗口之类的操作 - 还是需要明确发布消息?
【问题讨论】:
-
您可以在 Windows 消息循环中执行此操作吗?这实际上就是等待 GUI 消息(以及其他消息)的内容。
-
如果您不想通过向 GUI 输入队列发布消息来触发事件(一种合理的方法,如 @RogerRowland 建议的那样),您可以使用 MsgWaitForMultipleObjects() API 来运行你的 Windows 消息队列。
标签: multithreading winapi events object