Here,Windows API blocks thagss直到可用消息为止。 我想在n秒后自动醒来。 另外,我想在n秒后将系统发布一个WM。 有办法做到吗? 我当前的代码使用了另一种方法,解释了我使用第二个线程并让它入睡n秒。 但是多线程正在引起问题。 我想尝试仅使用一个线程,但只要在n秒后始终醒来,即使没有其他“天然” Wm发布。
正如评论所说,这很简单。
GetMessage()
WM_TIMER
SetTimer停止接收它们。 表演场景,有一个优化的机制来传递
SetTimer
KillTimer
。这避免了对
MsgWaitForMultipleObjectsEx
的需求,因为它直接接受超时值。此外,它还可以检查IO事件。