Функция GetQueueStatus обозначает тип сообщений, найденных в очереди сообщений вызывающего потока.
Синтаксис
DWORD GetQueueStatus( UINT flags ); |
Параметры
flags
[in] Определяет типы сообщений, которые проверяются. Этот параметр может состоять из одного или нескольких нижеследующих значений:
Значение |
Предназначение |
QS_ALLEVENTS |
В очереди находится сообщение о вводе данных, WM_TIMER, WM_PAINT, WM_HOTKEY или помещенное (синхронное) сообщение. |
QS_ALLINPUT |
В очереди находится какое-либо сообщение. |
|
В очереди находится помещенное (синхронное) сообщение (другое, а не то, которое перечислено здесь). |
QS_HOTKEY |
В очереди находится сообщение WM_HOTKEY. |
QS_INPUT |
В очереди находится сообщение о вводе данных. Оно составляется из QS_KEY и QS_MOUSE. Windows XP: Флажок также включает в себя QS_RAWINPUT. |
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_POSTMESSAGE |
В очереди находится помещенное (синхронное) сообщение (отличающееся от тех, которые перечислены здесь) находится в очереди. |
QS_RAWINPUT | Windows XP: В очереди находится сообщение ввода необработанных данных. Для получения дополнительной информации, см. Ввод необработанных данных. |
QS_SENDMESSAGE |
В очереди находится сообщение, отправленное другим потоком или прикладной программой. |
QS_TIMER |
В очереди находится сообщение WM_TIMER. |
Возвращаемые значения
Старшее слово возвращаемого значения указывает типы сообщений в настоящее время находящихся в очереди. Младшее слово указывает типы сообщений, которые были добавлены в очередь, и которые все еще в очереди начиная с последнего вызова функции GetQueueStatus, GetMessage или PeekMessage.
Замечания
Присутствие флажка QS_ в величине возвращаемого значения не гарантирует, что последующий вызов функции PeekMessage или GetMessage возвратит значение сообщения. GetMessage и PeekMessage исполняют некоторую внутреннюю фильтрацию, которая может заставлять сообщение быть обработанным внутри. По этой причине, величина возвращаемого значения от GetQueueStatus должна рассматриваться, только как подсказка, но так или иначе должна быть вызвана функция GetMessage или PeekMessage.
Флажки QS_ALLPOSTMESSAGE и QS_POSTMESSAGE отличаются тем, когда они сбрасываются. QS_POSTMESSAGE сбрасывается, когда Вы вызываете функцию GetMessage или PeekMessage или же Вы фильтруете сообщения. QS_ALLPOSTMESSAGE сбрасывается, когда Вы вызываете функцию GetMessage или PeekMessage без фильтрации сообщений (параметры wMsgFilterMin, и wMsgFilterMax равны 0). Это может быть полезно применить, когда Вы вызываете функцию PeekMessage много раз, чтобы получить сообщения в различных диапазонов.
Смотри также
Обзор Сообщения и очереди сообщений, GetInputState, GetMessage, PeekMessage
Размещение и совместимость GetQueueStatus |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 3.1 и выше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
User32.lib |
Заголовочный файл |
|
- объявлено в |
Winuser.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |