Funksjonen PeekMessage kontrollerer en tråd meldingskø for en melding, og plasserer melding (Hvis noen) i den angitte strukturen.
BOOL PeekMessage) LPMSG lpMsg, / / peker til struktur for meldingHWNDhWnd, / / håndtere til vinduetUINTwMsgFilterMin, / / først messageUINTwMsgFilterMax, / / sist messageUINTwRemoveMsg / / fjerning flags);
| Verdi | Betydning |
|---|---|
| PM_NOREMOVE | Meldinger er ikke fjernet fra køen etter behandling av PeekMessage. |
| PM_REMOVE | Meldinger er fjernet fra køen etter behandling av PeekMessage. |
Du kan eventuelt kombinere verdien PM_NOYIELD med enten PM_NOREMOVE eller PM_REMOVE. Dette flagget hindrer at systemet slippe en tråd som venter oppringeren å gå inaktiv (se WaitForInputIdle).
Som standard behandles alle meldingstypene. Hvis du vil angi at bare enkelte meldingen skal behandles, angir du ett eller flere av følgende verdier:
| Verdi | Betydning |
|---|---|
| PM_QS_INPUT | Windows NT 5.0 og Windows 98: Behandle musen og tastaturet meldinger. |
| PM_QS_PAINT | Windows NT 5.0 og Windows 98: Prosessen maling meldinger. |
| PM_QS_POSTMESSAGE | Windows NT 5.0 og Windows 98: Behandle alle innlagte meldinger, inkludert tidtakere og hurtigtaster. |
| PM_QS_SENDMESSAGE | Windows NT 5.0 og Windows 98: Prosessen alle sendte meldinger. |
Hvis en melding er tilgjengelig, er returverdien ikke-null.
Hvis ingen meldinger er tilgjengelige, er returverdien null.
I motsetning til GetMessage -funksjonen venter funksjonen PeekMessage ikke på en melding blir lagt i køen før retur.
PeekMessage henter bare meldinger som er knyttet til vinduet identifisert av parameteren hWnd , eller noen av sine barn som angitt av IsChild -funksjonen, og er innenfor rekkevidde av meldingen verdier gitt av parameterne wMsgFilterMin og wMsgFilterMax . Hvis hWnd er NULL, henter PeekMessage meldinger for alle vinduer som tilhører gjeldende tråd gjør samtalen. (PeekMessage ikke hente meldinger for windows som tilhører andre tråder.) Hvis hWnd er-1, returnerer PeekMessage bare meldinger med hWnd verdien NULL, som skrevet av funksjonen PostThreadMessage . Hvis wMsgFilterMin og wMsgFilterMax er begge er null, PeekMessage returnerer alle tilgjengelige meldinger (det vil si at ingen område filtrering utføres).
WM_KEYFIRST og WM_KEYLAST-konstanter kan brukes som filterverdier til å hente alle tastaturet meldinger; WM_MOUSEFIRST og WM_MOUSELAST-konstanter kan brukes til å hente alle musemeldinger.
Funksjonen PeekMessage fjerner normalt ikke WM_PAINT-meldinger fra køen. WM_PAINT-meldinger forblir i køen før de behandles. Men hvis en WM_PAINT-melding har en null oppdateringen region, PeekMessage , fjernes den fra køen.
Windows CE: WM_PAINT-meldinger med en null oppdateringen regionen er ikke fjernet fra køen.
nbsp; Windows &NT: krever versjon 3.1 eller senere.
Windows:Krever Windows 95 eller senere.
Windows CE:Krever versjon 1.0 eller senere.
Topptekst:Deklarert i winuser.h.
Importere biblioteket:Bruk user32.lib.
Unicode:Implementert som Unicode- og ANSI-versjoner på Windows NT.
Meldinger og melding køer oversikt, melding, og meldingen køen funksjoner, GetMessage, IsChild, MSG, WaitForInputIdle, WaitMessage