GetMessage

De functie GetMessage opgehaald van een bericht uit de berichtenwachtrij van de aanroepende thread en plaatst u deze in de opgegeven structuur. Deze functie kan zowel berichten die zijn gekoppeld aan een opgegeven venster ophalen en draad berichten gepost de PostThreadMessage functie. De functie haalt berichten die binnen een opgegeven bereik van bericht waarden liggen. GetMessage doet niet ophalen van berichten voor windows die tot andere threads of toepassingen behoren.

() BOOL GetMessage LPMSG  lpMsg, / / adres van structuur met berichtHWNDhWnd, / / verwerken van vensterUINTwMsgFilterMin, / / eerste berichtUINTwMsgFilterMax / / laatste bericht);
 

Parameters

lpMsg
Aanwijzer naar een MSG -structuur die berichtinformatie van de thread berichtenwachtrij ontvangt.
hWnd
Ingang naar het venster waarvan de berichten moeten worden opgehaald. Één waarde heeft een speciale betekenis:
Waarde Betekenis
NULL GetMessage haalt berichten voor elk venster dat tot de aanroepende draad behoort en draad berichten gepost naar de aanroepende draad via PostThreadMessage.

wMsgFilterMin
Hiermee geeft u de geheelwaarde van de laagste waarde die worden opgehaald.
wMsgFilterMax
Hiermee geeft u de integer-waarde van de hoogste waarde die worden opgehaald.

Retourwaarden

Als de functie een bericht andere dan WM_QUIT haalt, is de retourwaarde aan nul.

Als de functie haalt dit bericht op de WM_QUIT, is de retourwaarde nul.

Als er een fout optreedt, is de geretourneerde waarde -1. De functie mislukt bijvoorbeeld als hWnd een ongeldige vensteringang is of lpMsg een ongeldige pointer is. Te krijgen uitgebreide foutinformatie, Bel GetLastError.

Opmerkingen

De geretourneerde waarde een toepassing meestal gebruikt om te bepalen of de hoofdberichtlus beëindigen en het programma afsluiten.

De functie GetMessage 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, worden berichten voor elk venster dat tot de aanroepende draad behoort en draad berichten gepost naar de aanroepende draad via PostThreadMessage GetMessage opgehaald. GetMessage doet niet ophalen berichten voor windows die tot andere threads behoren noch voor threads anders dan de aanroepende draad, zelfs als hWnd niet NULL is. Draad berichten, Gepost door de PostThreadMessage functie, hebben bericht hWnd waarde NULL. Als wMsgFilterMin en wMsgFilterMax beide nul, GetMessage 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 gerelateerde voor toetsenbordinvoer; alle berichten wilt ophalen de constanten WM_MOUSEFIRST en WM_MOUSELAST kunnen worden gebruikt voor alle muis berichten ophalen. Als de parameters wMsgFilterMin en wMsgFilterMax beide nul zijn, retourneert de functie GetMessage alle beschikbare berichten (dat is, zonder het uitvoeren van ieder filteren).

GetMessage wordt niet WM_PAINT-berichten uit de wachtrij verwijderd. De berichten blijven in de wachtrij totdat verwerkt.

Merk op dat de retourwaarde van de functie dan nul zijn kan, nul, of -1. Aldus, zou u moeten vermijden code zoals dit:

terwijl (GetMessage (lpMsg, hWnd, 0, 0)) 
 

De mogelijkheid van een resulterende waarde-1 betekent dat dergelijke code tot fatale toepassingsfouten leiden kan.

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, IsChild, MSG, PeekMessage, PostMessage, PostThreadMessage, WaitMessage

Index