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

时间:2014-02-28 21:30:04

标签: c++ windows winapi mfc

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

我的环境:Windows XP,Visual Studio 2010

谢谢!

1 个答案:

答案 0 :(得分:4)

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

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

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