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

标签 c++ windows winapi mfc

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

我的环境:Windows XP,Visual Studio 2010

谢谢!

最佳答案

鉴于您的限制,我会使用 RegisterWaitForSingleObject()注册一个回调例程,当您等待的对象收到信号时将调用该例程。

回调函数很简单 - 它只需要向感兴趣的窗口发布一条用户定义的消息,表明事件已发出信号。

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

关于c++ - 在 MFC 中发出 Win32 事件信号时注册以接收 Windows 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22106208/

相关文章:

德尔福 7 : how to check if Windows themes is enabled?

winapi - 应用 list 模式

c++ - CppCoreGuidelines C.21 是否正确?

c++ - 对特定 CPU 进行基准测试和限制执行

windows - 如何在 windows 的 sublime text 3 中安装 'Emilbus Mono' 字体?

windows - 避免 Inno Setup 中的 "Failed to expand shell folder constant userdocs"错误

delphi - 为什么 FindWindow() 不是 100% 可靠?

c++ - Linux 套接字和线程

c++ - 有人可以帮助阐明头文件的工作原理吗?

windows - 使用我的 HDMI 端口作为输入