PeekMessage

De PeekMessage functie controleert een draad berichtenwachtrij voor een bericht en plaatst het bericht (indien aanwezig) in de opgegeven structuur.

BOOL PeekMessage) LPMSG  lpMsg, / / aanwijzer structuur voor berichtHWNDhWnd, / / verwerken naar vensterUINTwMsgFilterMin, / / eerste berichtUINTwMsgFilterMax, / / laatste berichtUINTwRemoveMsg / / verwijdering van vlaggen);
 

Parameters

lpMsg
Aanwijzer naar een MSG -structuur die berichtinformatie ontvangt.
hWnd
Ingang naar het venster waarvan de berichten moeten worden onderzocht.
wMsgFilterMin
Hiermee geeft u de waarde van het eerste bericht in de reeks van berichten worden onderzocht.
wMsgFilterMax
Hiermee geeft u de waarde van het laatste bericht in de reeks van berichten worden onderzocht.
wRemoveMsg
Hiermee geeft u aan hoe berichten worden verwerkt. Deze parameter kan een van de volgende waarden worden:
Waarde Betekenis
PM_NOREMOVE Berichten worden niet verwijderd uit de wachtrij na verwerking door PeekMessage.
PM_REMOVE Berichten zijn uit de wachtrij verwijderd na verwerking door PeekMessage.

U kunt desgewenst de waarde PM_NOYIELD combineren met PM_NOREMOVE of PM_REMOVE. Deze vlag voorkomt dat het systeem van het vrijgeven van een thread die op de beller wacht te gaan idle (Zie WaitForInputIdle).

Standaard worden alle berichttypen verwerkt. Als u wilt opgeven dat alleen bepaalde boodschap moet worden verwerkt, een of meer van de volgende waarden opgeven:
Waarde Betekenis
PM_QS_INPUT Windows NT 5.0 en Windows 98: Proces berichten van muis en toetsenbord.
PM_QS_PAINT Windows NT 5.0 en Windows 98: Proces verf berichten.
PM_QS_POSTMESSAGE Windows NT 5.0 en Windows 98: Alle geposte berichten, met inbegrip van timers en hotkeys verwerken.
PM_QS_SENDMESSAGE Windows NT 5.0 en Windows 98: Proces alle verzonden berichten.

Retourwaarden

Als een bericht beschikbaar is, is de retourwaarde aan nul.

Als er geen berichten beschikbaar zijn, is de retourwaarde nul.

Opmerkingen

In tegenstelling tot de functie GetMessage wacht de PeekMessage functie niet een bericht in de wachtrij worden geplaatst voordat u terugkeert naar.

PeekMessage haalt alleen berichten die zijn gekoppeld aan het venster geïdentificeerd door de parameter hWnd of een van haar kinderen als opgegeven door de IsChild functie, en binnen het bereik van waarden bericht gegeven door de parameters wMsgFilterMin en wMsgFilterMax . Als hWnd NULL is, haalt PeekMessage berichten voor elk venster dat behoort tot de huidige thread maken de oproep. (PeekMessage doet niet ophalen berichten voor windows die tot andere threads behoren). Als hWnd –1 is, retourneert PeekMessage alleen berichten met hWnd waarde NULL, zoals Gepost door de PostThreadMessage functie. Als wMsgFilterMin en wMsgFilterMax beide nul, PeekMessage geeft als resultaat alle beschikbare berichten (dat wil zeggen, geen bereik filteren wordt uitgevoerd).

De constanten WM_KEYFIRST en WM_KEYLAST kunnen worden gebruikt als filterwaarden om op te halen alle toetsenbord berichten; de constanten WM_MOUSEFIRST en WM_MOUSELAST kunnen worden gebruikt om alle muis berichten ophalen.

De PeekMessage functie verwijdert normaal niet WM_PAINT-berichten uit de wachtrij. WM_PAINT-berichten blijven in de wachtrij totdat zij worden verwerkt. Echter, als een WM_PAINT-bericht een null update regio heeft, PeekMessage verwijdert het uit de wachtrij.

Windows CE: WM_PAINT-berichten met een null update regio zijn niet uit de wachtrij verwijderd.

Syntaxisinfo

nbsp; Windows &NT: versie 3.1 of hoger vereist.
Windows:Windows 95 of hoger vereist.
Windows CE:Versie 1.0 of hoger vereist.
Header:Verklaard in winuser.h.
Bibliotheek importeren:User32.lib gebruiken.
Unicode:Geïmplementeerd als Unicode en ANSI-versies van Windows NT.

Zie ook

Berichten en bericht wachtrijen overzicht, bericht en bericht wachtrij functies, GetMessage, IsChild, MSG, WaitForInputIdle, WaitMessage

Index