Функции PeekMessage проверяет очереди сообщений потока для сообщения и помещает сообщение (если таковой имеется) в указанной структуре.
(BOOL PeekMessage LPMSG lpMsg, / / указатель на структуру для сообщенияHWNDhWnd, / / дескриптор окнаUINTwMsgFilterMin, / / сначала сообщениеUINTwMsgFilterMax, / / Последнее сообщениеUINTwRemoveMsg / / удаления флагов);
| Значение | Значение |
|---|---|
| PM_NOREMOVE | Сообщения не удаляются из очереди после обработки, PeekMessage. |
| PM_REMOVE | Сообщения удаляются из очереди после обработки PeekMessage. |
При желании вы можете объединить значение PM_NOYIELD с PM_NOREMOVE или PM_REMOVE. Этот флаг запрещает системе выпускать любой поток, который ожидает вызывающий простой (см. WaitForInputIdle).
По умолчанию обрабатываются все типы сообщений. Обработке только определенные сообщения, задайте одно или несколько из следующих значений:
| Значение | Значение |
|---|---|
| PM_QS_INPUT | Windows NT 5.0 и Windows 98: Обработка сообщений клавиатуры и мыши. |
| PM_QS_PAINT | Windows NT 5.0 и Windows 98: Процесс краска сообщения. |
| PM_QS_POSTMESSAGE | Windows NT 5.0 и Windows 98: Процесс все написал сообщений, включая таймеры и горячие клавиши. |
| PM_QS_SENDMESSAGE | Windows NT 5.0 и Windows 98: Обработка всех Отправлено сообщений. |
Если сообщение, возвращаемое значение не равно нулю.
Если сообщения не доступны, возвращаемое значение равно нулю.
В отличие от функции GetMessage функцию PeekMessage не ожидает сообщение помещается в очередь перед возвращением.
PeekMessage извлекает только сообщения, связанные с окном, определенных параметром hWnd или любого из его детей, как указано, функция IsChild , а также в пределах сообщения значений, указанных в параметрах wMsgFilterMin и wMsgFilterMax . Если hWnd равно NULL, PeekMessage извлекает сообщения для любого окна, которому принадлежит текущий поток, вызов. (PeekMessage не извлекает сообщения для windows, которые принадлежат к другим потокам). Если hWnd является –1, PeekMessage возвращает только сообщения с hWnd значение NULL, как написал PostThreadMessage функции. Если wMsgFilterMin и wMsgFilterMax являются нулевой, PeekMessage возвращает все доступные сообщения (то есть, диапазон фильтрация не выполняется).
Константы WM_KEYFIRST и WM_KEYLAST могут использоваться в качестве значения фильтра для извлечения всех сообщений клавиатуры; константы WM_MOUSEFIRST и WM_MOUSELAST может использоваться для извлечения всех сообщений мыши.
Функцию PeekMessage обычно не удаляет сообщения WM_PAINT из очереди. WM_PAINT сообщения остаются в очереди до тех пор, пока их обработки. Однако если сообщение WM_PAINT области null обновления, PeekMessage удалить его из очереди.
Windows CE: Сообщения WM_PAINT с областью пустой обновления не удаляются из очереди.
nbsp; Windows &NT: требует версии 3.1 или более поздней версии.
Windows:Требует Windows 95 или более поздней версии.
Windows CE:Требует версии 1.0 или более поздней версии.
Заголовок:Объявленные в winuser.h.
Импорта библиотеки:Используйте user32.lib.
Юникод:В версии Юникода и ANSI в Windows NT.
Обзор очереди сообщений и сообщений, сообщений и функции очереди сообщений, GetMessage, IsChild, MSG, WaitForInputIdle, WaitMessage