【问题标题】:Event triggered Window Message事件触发窗口消息
【发布时间】:2012-06-04 15:49:04
【问题描述】:

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

【问题讨论】:

    标签: winapi overlapped-io


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多