На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

PeekMessage



The PeekMessage function checks a thread message queue for a message and places the message (if any) in the specified structure.

BOOL PeekMessage(

LPMSG lpMsg, // pointer to structure for message
HWND hWnd, // handle to window
UINT wMsgFilterMin, // first message
UINT wMsgFilterMax, // last message
UINT wRemoveMsg // removal flags
);


Parameters

lpMsg

Points to an MSG structure that contains message information from the Windows-based application queue.

hWnd

Identifies the window whose messages are to be examined.

wMsgFilterMin

Specifies the value of the first message in the range of messages to be examined.

wMsgFilterMax

Specifies the value of the last message in the range of messages to be examined.

wRemoveMsg

Specifies how messages are handled. This parameter can be one of the following values:

Value Meaning
PM_NOREMOVE Messages are not removed from the queue after processing by PeekMessage.
PM_REMOVE Messages are removed from the queue after processing by PeekMessage.


You can optionally combine the value PM_NOYIELD with either PM_NOREMOVE or PM_REMOVE. However, PM_NOYIELD has no effect on 32-bit Windows applications. It is defined in Win32 solely to provide compatibility with applications written for previous versions of Windows, where it was used to prevent the current task from halting and yielding system resources to another task. 32-bit Windows applications always run simultaneously.



Return Values

If a message is available, the return value is nonzero.
If no messages are available, the return value is zero.

Remarks

Unlike the GetMessage function, the PeekMessage function does not wait for a message to be placed in the queue before returning.
PeekMessage retrieves only messages associated with the window identified by the hWnd parameter or any of its children as specified by the IsChild function, and within the range of message values given by the wMsgFilterMin and wMsgFilterMax parameters. If hWnd is NULL, PeekMessage retrieves messages for any window that belongs to the current thread making the call. (PeekMessage does not retrieve messages for windows that belong to other threads.) If hWnd is -1, PeekMessage only returns messages with a hWnd value of NULL, as posted by the PostAppMessage function. If wMsgFilterMin and wMsgFilterMax are both zero, PeekMessage returns all available messages (that is, no range filtering is performed).

The WM_KEYFIRST and WM_KEYLAST constants can be used as filter values to retrieve all keyboard messages; the WM_MOUSEFIRST and WM_MOUSELAST constants can be used to retrieve all mouse messages.
The PeekMessage function normally does not remove WM_PAINT messages from the queue. WM_PAINT messages remain in the queue until they are processed. However, if a WM_PAINT message has a null update region, PeekMessage does remove it from the queue.

See Also

GetMessage, IsChild, MSG, PostAppMessage, WaitMessage


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

PeekMessage



Функция PeekMessage проверяет очередь сообщения резьбы на наличие сообщения и устанавливает сообщение (если имеется) в определенной структуре.

BOOL PeekMessage(

LPMSG lpMsg, // УКАЗАТЕЛЬ в структуру для сообщения HWND hWnd, // ручки в окно UINT wMsgFilterMin, // первое сообщение UINT wMsgFilterMax, // последние флаги удаления сообщения UINT wRemoveMsg //
);


Параметры

lpMsg

Точки на структуру MSG, которые содержат информацию сообщения из базирующейся прикладной очереди Windows.

hWnd

Идентифицирует окно, чьи сообщения должны быть изучены.

wMsgFilterMin

Определяет величину первого сообщения в дипазоне сообщений, который нужно изучаться.

wMsgFilterMax

Определяет величину последнего сообщения в дипазоне сообщений, который нужно изучаться.

wRemoveMsg

Определяет как сообщения прооперированы. Этот параметр может быть одним из следующего величин:

Значение Величины
Сообщения PM_NOREMOVE не удалены из очереди после обработки PeekMessage.
Сообщения PM_REMOVE удалены из очереди после обработки PeekMessage.


Вы можете дополнительно объединить величину PM_NOYIELD с PM_NOREMOVE или PM_REMOVE. Тем не менее, PM_NOYIELD не имеет эффект в 32- битовых приложениях Windows. Определено в Win32 исключительно, чтобы обеспечивать совместимость приложениями записанными для предшествующих версий Windows, где имело обыкновение, чтобы предохранять текущую задачу от работающих с перебоями и уступающих системных ресурсов в другую задачу. 32- битовые приложения Windows всегда работают одновременно.



Обратные Величины

Если сообщение доступно, обратная величина ненулевая.
Если никакие сообщения не доступны, обратная величина нулевая.

Замечания

В отличие от функции GetMessage, функция PeekMessage не ждет сообщение, которое нужно устанавливаться в очереди перед возвратом.
PeekMessage ИЗВЛЕКАЕТ только сообщения связанные окном идентифицированным параметром hWnd или любое из своих детей как определено функцией IsChild, и в диапазоне величин сообщения данных wMsgFilterMin и параметрами wMsgFilterMax. Если hWnd НЕДЕЙСТВИТЕЛЕН, PeekMessage извлекает сообщения для любого окна, которое принадлежит текущей резьбе, делающей вызовом. (PeekMessage НЕ извлекает сообщения для окна, которое принадлежит другой резьбе.) Если hWnd - -1, сообщения только возврата PeekMessage с величиной hWnd НЕДЕЙСТВИТЕЛЬНОГО, как объявлено функцией PostAppMessage. Если wMsgFilterMin и wMsgFilterMax - оба нуля, PeekMessage возвращает все доступные сообщения (то есть, никакая фильтрация дипазона не выполнена).

WM_KEYFIRST И константы WM_KEYLAST могут быть использованы как величины фильтра, чтобы извлекать все клавишные сообщения; WM_MOUSEFIRST и константы WM_MOUSELAST могут быть использованы, чтобы извлекать все сообщения мыши.
Функция PeekMessage нормально не удаляет сообщения WM_PAINT из очереди. сообщения WM_PAINT остаются в очереди пока они не будут обработаны. Тем не менее, если сообщение WM_PAINT имеет недействительную область коррекции, PeekMessage удаляет это из очереди.

Смотри Также

GetMessage, IsChild, MSG, PostAppMessage, WaitMessage


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz