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


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

Извлекает тип сообщений, найденных в очереди сообщений вызывающего потока.

Синтаксис

DWORD GetQueueStatus(
  [in] UINT flags
);

Параметры

[in] flags

Тип: UINT

Типы сообщений, для которых проверка. Этот параметр может иметь одно или несколько из следующих значений.

Значение Значение
QS_KEY
0x0001
В очереди находится сообщение WM_KEYUP, WM_KEYDOWN, WM_SYSKEYUP или WM_SYSKEYDOWN .
QS_MOUSEMOVE
0x0002
В очереди находится сообщение WM_MOUSEMOVE .
QS_MOUSEBUTTON
0x0004
Сообщение кнопки мыши (WM_LBUTTONUP, WM_RBUTTONDOWN и т. д.).
QS_POSTMESSAGE
0x0008
Отправленное сообщение (отличное от перечисленных здесь) находится в очереди. Дополнительные сведения см. в разделе PostMessage.
Это значение очищается при вызове Метода GetMessage или PeekMessage независимо от того, фильтруете ли вы сообщения.
QS_TIMER
0x0010
В очереди находится сообщение WM_TIMER .
QS_PAINT
0x0020
В очереди находится сообщение WM_PAINT .
QS_SENDMESSAGE
0x0040
Сообщение, отправленное другим потоком или приложением, находится в очереди. Дополнительные сведения см. в разделе SendMessage.
QS_HOTKEY
0x0080
В очереди находится WM_HOTKEY сообщение.
QS_ALLPOSTMESSAGE
0x0100
Отправленное сообщение (отличное от перечисленных здесь) находится в очереди. Дополнительные сведения см. в разделе PostMessage.
Это значение очищается при вызове Метода GetMessage или PeekMessage без фильтрации сообщений.
QS_RAWINPUT
0x0400
Windows XP и более поздней версии: в очереди находится необработанное входное сообщение. Дополнительные сведения см. в разделе Необработанные входные данные.
QS_TOUCH
0x0800
Windows 8 и более новых версий: в очереди находится сообщение сенсорного ввода. Дополнительные сведения см. в разделе Сенсорный ввод.
QS_POINTER
0x1000
Windows 8 и более новых версий: в очереди находится входное сообщение указателя. Дополнительные сведения см. в разделе Ввод указателя.
QS_MOUSE
(QS_MOUSEMOVE | QS_MOUSEBUTTON)
Сообщение WM_MOUSEMOVE или сообщение кнопки мыши (WM_LBUTTONUP, WM_RBUTTONDOWN и т. д.).
QS_INPUT
(QS_MOUSE | QS_KEY | QS_RAWINPUT | QS_TOUCH | QS_POINTER)
Входное сообщение находится в очереди.
QS_ALLEVENTS
(QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY)
В очереди находится входное, WM_TIMER, WM_PAINT, WM_HOTKEY или отправленное сообщение.
QS_ALLINPUT
(QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY | QS_SENDMESSAGE)
Любое сообщение находится в очереди.

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

Тип: DWORD

Слово высокого порядка возвращаемого значения указывает типы сообщений, которые в настоящее время находятся в очереди. Слово нижнего порядка указывает типы сообщений, которые были добавлены в очередь и которые остаются в очереди с момента последнего вызова функции GetQueueStatus, GetMessage или PeekMessage .

Комментарии

Наличие флага QS_ в возвращаемом значении не гарантирует, что последующий вызов функции GetMessage или PeekMessage вернет сообщение. GetMessage и PeekMessage выполняют некоторые внутренние фильтры, которые могут привести к внутренней обработке сообщения. По этой причине возвращаемое значение из GetQueueStatus следует рассматривать только как подсказку о том, следует ли вызывать GetMessage или PeekMessage .

Флаги QS_ALLPOSTMESSAGE и QS_POSTMESSAGE различаются по мере их очистки. QS_POSTMESSAGE очищается при вызове Метода GetMessage или PeekMessage независимо от того, фильтруете ли вы сообщения. QS_ALLPOSTMESSAGE очищается при вызове GetMessage или PeekMessage без фильтрации сообщений (wMsgFilterMin и wMsgFilterMax имеют значение 0). Это может быть полезно при многократном вызове PeekMessage для получения сообщений в разных диапазонах.

Требования

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

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

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

GetInputState

GetMessage

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

PeekMessage

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