0

有没有办法在设置事件时生成窗口消息?我想设置一个重叠的 I/O 操作,所以它不会阻塞,但我不想轮询它的状态。我知道我可以使用线程,但我只需要它来执行此操作。似乎有更好的方法。

4

1 回答 1

1

您可能可以这样做,但是 Windows 更直接地支持的是 using ,当您收到消息您传递的任何句柄(只能是一个)发出信号MsgWaitForMultipleObjects时,它将返回。

或者,您可以使用ReadFileEx/WriteFileEx来执行 I/O,然后使用MsgWaitForMultipleObjectsEx. 在这种情况下,您指定一个完成例程。执行直接从您的调用跳转MsgWaitForMultipleObjectsEx到您的完成例程,而无需查看消息/返回值来弄清楚发生了什么,然后跳转到代码以适当地处理它。

无论哪种方式,您都将继续处理其他 Windows 消息并处理 I/O 的完成,而无需轮询 I/O 的完成情况。

于 2012-06-04T16:06:08.417 回答