PeekMessage функція перевірки потоку чергу повідомлення повідомлення і розміщує повідомлення (якщо є) в зазначених структурах.
(BOOL PeekMessage LPMSG lpMsg, / / вказівник на структуру для повідомленняHWNDhWnd, / / ручка вікнаUINTwMsgFilterMin, / / перші повідомленняUINTwMsgFilterMax, / / Останнє повідомленняUINTwRemoveMsg / / видалення прапори);
| Значення | Значення |
|---|---|
| PM_NOREMOVE | Повідомлення не видаляються з черги після обробки на PeekMessage. |
| PM_REMOVE | Повідомлення видаляються із черги після обробки на PeekMessage. |
За потреби можна об'єднати значення PM_NOYIELD або PM_NOREMOVE або PM_REMOVE. Цей прапор не дозволяє системі від звільнення будь-які теми, що чекає на caller йти простою (див 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 повідомлення з null оновлення регіону не видалено з черги.
nbsp; Windows &NT: вимагає 3.1 або пізнішої версії.
Windows:Вимагає Windows 95 або пізнішої версії.
Windows CE:Потрібна Версія 1.0 або пізнішу версію.
Заголовка:Оголошена в winuser.h.
Імпортувати бібліотеки:Використання user32.lib.
Юнікод:Реалізований у вигляді Юнікод і ANSI версії на Windows NT.
Повідомлення та повідомлення черги огляд, повідомлення та функції черги повідомлень, GetMessage, IsChild, MSG, WaitForInputIdle, WaitMessage