PeekMessage

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);
 

Parametrii

lpMsg
Indicator spre o structură MSG care primește informații mesaj.
hWnd
Ocupa în fereastra ale căror mesaje vor fi examinate.
wMsgFilterMin
Specifică valoarea primul mesaj în zona de mesaje de analizat.
wMsgFilterMax
Specifică valoarea ultimul mesaj în zona de mesaje de analizat.
wRemoveMsg
Specifică modul în care mesajele sunt manipulate. Acest parametru poate fi una dintre următoarele valori:
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.

Valorile întroarse

Dacă un mesaj este disponibil, valoarea returnată este nenul.

În cazul în care mesajele nu sunt disponibile, valoarea returnată este zero.

Observații

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.

QuickInfo

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.

A se vedea, de asemenea

Mesajele și mesaj cozile de prezentare, mesaj și mesaj coada de funcții, GetMessage, IsChild, MSG, WaitForInputIdle, WaitMessage

Index