PeekMessage

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

Parametere

lpMsg
Peker til en MSG struktur som mottar meldingsinformasjon.
hWnd
Håndtere til vinduet får meldinger er undersøkes.
wMsgFilterMin
Angir verdien for den første meldingen i området meldinger undersøkes.
wMsgFilterMax
Angir verdien for den siste meldingen i området meldinger undersøkes.
wRemoveMsg
Angir hvordan meldinger håndteres. Denne parameteren kan være en av følgende verdier:
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.

Returverdier

Hvis en melding er tilgjengelig, er returverdien ikke-null.

Hvis ingen meldinger er tilgjengelige, er returverdien null.

Merknader

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.

Hurtiginformasjon

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.

Se også

Meldinger og melding køer oversikt, melding, og meldingen køen funksjoner, GetMessage, IsChild, MSG, WaitForInputIdle, WaitMessage

Index