WaitMessage 函数 (winuser.h)

当线程在其消息队列中没有其他消息时,可控制其他线程。 WaitMessage 函数暂停线程,直到新消息放置在线程的消息队列中才会返回。

语法

BOOL WaitMessage();

返回值

类型: BOOL

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。

注解

请注意,如果在线程调用函数以检查队列后,消息队列中存在未读输入,则 WaitMessage 不会返回。 这是因为 PeekMessageGetMessageGetQueueStatusWaitMessageMsgWaitForMultipleObjectsMsgWaitForMultipleObjectsEx 等函数检查队列,然后更改队列的状态信息,使输入不再被视为新输入。 在指定类型的新输入到达之前,对 WaitMessage 的后续调用不会返回。 在线程上次检查队列) 之前收到的现有未读输入 (将被忽略。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 winuser.h (包括 Windows.h)
Library User32.lib
DLL User32.dll
API 集 Windows 10版本 10.0.14393 中引入的 ext-ms-win-ntuser-window-l1-1-4 ()

请参阅

概念性

GetMessage

消息和消息队列

PeekMessage

引用