设置事件时是否有办法生成Window消息?我想设置一个重叠的I / O操作,所以它没有阻塞,但我不想轮询它的状态。我知道我可以使用一个线程,但我只需要它来进行此操作。似乎有更好的方法。
答案 0 :(得分:1)
你可能会这样做,但Windows更直接支持的是使用MsgWaitForMultipleObjects
,当你收到消息时会返回或你传递的任何句柄(可以是只发出一个信号。
或者,您可以使用ReadFileEx
/ WriteFileEx
来执行I / O,并使用MsgWaitForMultipleObjectsEx
。在这种情况下,您指定一个完成例程。执行会直接从您对MsgWaitForMultipleObjectsEx
的调用跳转到您的完成例程,而无需查看消息/返回值以找出发生的情况,然后跳转到代码以适当地处理它。
无论哪种方式,您都可以继续处理其他Windows消息并处理I / O的完成,而无需轮询I / O完成。