Funcția PeekMessage verifică thread un mesaj coada de așteptare pentru un mesaj și locuri mesajul (dacă există) în structura specificat.
(BOOL PeekMessage LPMSG lpMsg, / / indicatorul structura pentru mesajHWNDhWnd, / / ocupa fereastraUINTwMsgFilterMin, / / primul mesajUINTwMsgFilterMax, / / ultimul mesajUINTwRemoveMsg / / eliminarea steaguri);
| Valoarea | Sensul |
|---|---|
| PM_NOREMOVE | Mesajele nu sunt eliminate din coada de așteptare după prelucrare de PeekMessage. |
| PM_REMOVE | Mesajele sunt eliminate din coada de așteptare după prelucrare de PeekMessage. |
Opțional puteți combina valoarea PM_NOYIELD cu PM_NOREMOVE sau PM_REMOVE. Acest flag împiedică eliberarea orice subiect care este în așteptare pentru persoana care a telefonat merge idle a sistemului (a se vedea WaitForInputIdle).
În mod implicit, toate tipurile de mesaje sunt prelucrate. Pentru a preciza că numai anumite mesaje ar trebui să fie prelucrate, specificați unul sau mai multe dintre următoarele valori:
| Valoarea | Sensul |
|---|---|
| PM_QS_INPUT | Windows NT 5.0 și Windows 98: Procesul de mesaje mouse ?i tastatură. |
| PM_QS_PAINT | Windows NT 5.0 și Windows 98: Procesul de vopsea mesaje. |
| PM_QS_POSTMESSAGE | Windows NT 5.0 și Windows 98: Procesul toate postat mesaje, inclusiv cronometre oi hotkeys. |
| PM_QS_SENDMESSAGE | Windows NT 5.0 și Windows 98: Procesul toate trimis mesaje. |
Dacă un mesaj este disponibil, valoarea returnată este nenul.
În cazul în care mesajele nu sunt disponibile, valoarea returnată este zero.
Spre deosebire de funcția GetMessage , funcția PeekMessage nu așteptați un mesaj pentru a fi plasate în coada de așteptare înainte de a reveni.
PeekMessage preia numai mesajele asociate cu fereastra identificate de parametrul hWnd sau la oricare dintre copii sa ca specificată de funcția IsChild , și în intervalul de valori mesajul dat de parametrii de wMsgFilterMin și wMsgFilterMax . Dacă hWnd este NULL, PeekMessage preia mesajele pentru orice fereastră care aparține firul de execu?ie curent face apel. (PeekMessage nu prelua mesajele pentru windows care aparțin alte fire.) Dacă hWnd este 1, PeekMessage întoarce numai mesaje cu o valoare hWnd NULL, așa cum Postat de funcția PostThreadMessage . Dacă wMsgFilterMin și wMsgFilterMax sunt ambele zero, PeekMessage întoarce toate mesajele disponibile (care este, nu gama de filtrare se efectuează).
Constantele de WM_KEYFIRST și WM_KEYLAST poate fi folosit ca filtru valorile pentru a prelua toate mesajele de tastatură; constantele de WM_MOUSEFIRST și WM_MOUSELAST pot fi utilizate pentru a prelua toate mesajele de mouse-ul.
Funcția PeekMessage în mod normal nu elimina WM_PAINT mesajele din coada de așteptare. WM_PAINT mesajele rămân în coada de așteptare până când sunt prelucrate. Cu toate acestea, dacă un mesaj WM_PAINT are o regiune null update, PeekMessage elimina din coada de așteptare.
Windows CE: WM_PAINT mesaje cu o actualizare null regiune nu sunt eliminate din coada de așteptare.
nbsp; Windows &NT: necesită versiunea 3.1 sau mai târziu.
Windows:Necesită Windows 95 sau o versiune ulterioară.
Windows CE:Necesită versiunea 1.0 sau mai târziu.
Antet:A declarat în winuser.h.
Import Biblioteca:Utilizarea user32.lib.
Unicode:Pus în aplicare ca Unicode și ANSI versiuni Windows NT.
Mesajele și mesaj cozile de prezentare, mesaj și mesaj coada de funcții, GetMessage, IsChild, MSG, WaitForInputIdle, WaitMessage