Поделиться через


Функция WaitMessage (winuser.h)

Возвращает управление другим потокам, если поток не содержит других сообщений в очереди сообщений. Функция WaitMessage приостанавливает поток и не возвращает его, пока новое сообщение не будет помещено в очередь сообщений потока.

Синтаксис

BOOL WaitMessage();

Возвращаемое значение

Тип: BOOL

Если функция выполняется успешно, возвращается ненулевое значение.

Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Обратите внимание, что WaitMessage не возвращает данные, если в очереди сообщений есть непрочитанные входные данные после того, как поток вызвал функцию для проверка очереди. Это связано с тем, что такие функции, как PeekMessage, GetMessage, GetQueueStatus, WaitMessage, MsgWaitForMultipleObjects и MsgWaitForMultipleObjectsEx, проверка очередь, а затем изменяют сведения о состоянии очереди, чтобы входные данные больше не считались новыми. Последующий вызов WaitMessage не возвращается до тех пор, пока не поступит новый ввод указанного типа. Существующие непрочитанные входные данные (полученные до последней проверки очереди потоком) игнорируются.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header winuser.h (включая Windows.h)
Библиотека User32.lib
DLL User32.dll
Набор API ext-ms-win-ntuser-window-l1-1-4 (представлено в Windows 10 версии 10.0.14393)

См. также раздел

Основные понятия

GetMessage

Сообщения и очереди сообщений

PeekMessage

Справочные материалы