GetQueueStatus
Функция GetQueueStatus возвращает флаги, которые показывают тип сообщений, обнаруженных в очереди сообщений вызывающего потока.
DWORD GetQueueStatus
(
UINT
flags // флаги состояния очереди
);
Параметры
flags - определяет флаги состояния очереди, указывая типы сообщений для проверки. Может быть комбинацией следующих значений:
Значение |
Пояснение |
QS_ALLEVENTS |
Сообщение ввода, WM_TIMER , WM_PAINT , WM_HOTKEY или помещенное в очередь сообщение. |
QS_ALLINPUT |
Любое сообщение ввода. |
QS_HOTKEY |
Сообщение WM_HOTKEY . |
QS_INPUT |
Сообщение ввода. |
QS_KEY |
Сообщение WM_KEYUP , WM_KEYDOWN , WM_SYSKEYUP или WM_SYSKEYDOWN в очереди. |
QS_MOUSE |
Сообщение WM_MOUSEMOVE или сообщение клавиши мыши ( WM_LBUTTONUP , WM_RBUTTONDOWN и т. п.). |
QS_MOUSEBUTTON |
Сообщение клавиши мыши ( WM_LBUTTONUP , WM_RBUTTONDOWN и т. п.). |
QS_MOUSEMOVE |
Сообщение WM_MOUSEMOVE. |
QS_PAINT |
Сообщение WM_PAINT . |
QS_OSTMESSAGE |
Помещенное сообщение, отличное от перечисленных выше, находится в очереди. |
QS_ENDMESSAGE |
Сообщение, отправленное другим потоком или приложением, находится в очереди. |
QS_TIMER |
Сообщение WM_TIMER . |
Возвращаемые значения
Старшее слово показывает типы сообщений, находящихся в очереди. Младшее слово показывает типы сообщений, которые были добавлены в очередь и все еще там находятся с момента последнего вызова функции GetQueueStatus : GetMessage или PeekMessage .
Комментарии
Присутствие флага QS_ в возвращаемом значении не гарантирует, что последующий вызов функции PeekMessage или GetMessage вернет сообщение. PeekMessage или GetMessage выполняют определенную внутреннюю фильтрацию, которая может привести ко внутренней обработке сообщения. По этой причине, возвращаемое функцией GetQueueStatus значение должно быть рассматриваемо только как намек на то, должна ли быть вызвана функция GetMessage или PeekMessage .
См. также
GetInputState , GetMessage , PeekMessage .