注册以在 MFC 中发出 Win32 事件信号时接收 Windows 消息

Register to receive windows messages when an Win32 event is signaled in MFC

本文关键字:信号 消息 Windows 事件 Win32 MFC 注册      更新时间:2023-10-16

我有一个简单的MFC对话框应用程序。我想做一些重叠的 I/O。在单独的线程中等待重叠的事件句柄很痛苦。我想知道是否有函数调用将 Windows 消息注册到可等待句柄?很像 WSAAsyncSelect 的工作方式,但没有套接字,只有一个通用的 Win32 可等待句柄(事件、互斥锁、管道等)。

我的环境:Windows XP,Visual Studio 2010

谢谢!

鉴于您的约束,我将使用 RegisterWaitForSingleObject() 来注册一个回调例程,该例程将在您等待的对象发出信号时调用。

回调函数很简单 - 它只需要将用户定义的消息发布到感兴趣的窗口,指示事件已发出信号。

也就是说,如果您使用的是 ReadFileEx()、WriteFileEx() 或其他支持完成回调的 I/O 函数,则可以使用该回调来实现类似的功能。