Dela via


Meddelanden och meddelandeköer

I det här avsnittet beskrivs meddelanden och meddelandeköer och hur du använder dem i dina program.

I det här avsnittet

Namn Beskrivning
Om meddelanden och meddelandeköer I det här avsnittet beskrivs Windows-meddelanden och meddelandeköer.
Använda meddelanden och meddelandeköer Följande kodexempel visar hur du utför följande uppgifter som är associerade med Windows-meddelanden och meddelandeköer.
meddelandereferens Innehåller API-referensen.

System-Provided meddelanden

Listor över meddelanden som tillhandahålls av systemet finns i System-Defined Meddelanden.

Meddelandefunktioner

Namn Beskrivning
BroadcastSystemMessage Skickar ett meddelande till de angivna mottagarna. Mottagarna kan vara program, installationsbara drivrutiner, nätverksdrivrutiner, enhetsdrivrutiner på systemnivå eller någon kombination av dessa systemkomponenter.
Om du vill ta emot ytterligare information om begäran har definierats använder du funktionen BroadcastSystemMessageEx.
BroadcastSystemMessageEx Skickar ett meddelande till de angivna mottagarna. Mottagarna kan vara program, installationsbara drivrutiner, nätverksdrivrutiner, enhetsdrivrutiner på systemnivå eller någon kombination av dessa systemkomponenter.
Den här funktionen liknar BroadcastSystemMessage förutom att den här funktionen kan returnera mer information från mottagarna.
DispatchMessage Skickar ett meddelande till en fönsterprocedur. Det används vanligtvis för att skicka ett meddelande som hämtats av funktionen GetMessage.
GetInputState Avgör om det finns musknapps- eller tangentbordsmeddelanden i samtalstrådens meddelandekö.
GetMessage Hämtar ett meddelande från den anropande trådens meddelandekö. Funktionen skickar inkommande skickade meddelanden tills ett postat meddelande är tillgängligt för hämtning.
Till skillnad från GetMessageväntar inte funktionen PeekMessage på att ett meddelande ska publiceras innan det returneras.
GetMessageExtraInfo Hämtar den extra meddelandeinformationen för den aktuella tråden. Extra meddelandeinformation är ett program- eller drivrutinsdefinierat värde som är associerat med den aktuella trådens meddelandekö.
GetMessagePos Hämtar markörens position för det senaste meddelandet som hämtades av funktionen GetMessage.
Om du vill fastställa markörens aktuella position använder du funktionen GetCursorPos.
GetMessageTime Hämtar meddelandetiden för det senaste meddelandet som hämtades av funktionen GetMessage. Tiden är ett långt heltal som anger den förflutna tiden, i millisekunder, från den tidpunkt då systemet startades till den tidpunkt då meddelandet skapades (det vill: placerat i trådens meddelandekö).
GetQueueStatus Anger vilken typ av meddelanden som finns i samtalstrådens meddelandekö.
InSendMessage Avgör om den aktuella fönsterproceduren bearbetar ett meddelande som skickades från en annan tråd (i samma process eller en annan process) av ett anrop till funktionen SendMessage.
Om du vill få ytterligare information om hur meddelandet skickades använder du funktionen InSendMessageEx.
InSendMessageEx Avgör om den aktuella fönsterproceduren bearbetar ett meddelande som skickades från en annan tråd (i samma process eller i en annan process).
PeekMessage Skickar inkommande skickade meddelanden, kontrollerar trådmeddelandekön efter ett publicerat meddelande och hämtar meddelandet (om det finns några).
PostMessage Publicerar ett meddelande i meddelandekön som är associerad med tråden som skapade det angivna fönstret och returnerar utan att vänta på att tråden ska bearbeta meddelandet.
Om du vill publicera ett meddelande i meddelandekön som är associerad med en tråd använder du funktionen PostThreadMessage.
PostQuitMessage Anger för systemet att en tråd har gjort en begäran om att avsluta (avsluta). Det används vanligtvis som svar på ett WM_DESTROY meddelande.
PostThreadMessage Skickar ett meddelande till meddelandekön för den angivna tråden. Den returnerar utan att vänta på att tråden ska bearbeta meddelandet.
RegisterWindowMessage Definierar ett nytt fönstermeddelande som garanterat är unikt i hela systemet. Meddelandevärdet kan användas när du skickar eller publicerar meddelanden.
ReplyMessage Svarar på ett meddelande som skickas via funktionen SendMessage utan att returnera kontroll till funktionen som anropade SendMessage.
SendAsyncProc En programdefinierad återanropsfunktion som används med funktionen SendMessageCallback. Systemet skickar meddelandet till återanropsfunktionen när meddelandet har skickats till målfönstrets procedur. Typen SENDASYNCPROC definierar en pekare till den här motringningsfunktionen. SendAsyncProc är en platshållare för det programdefinierade funktionsnamnet.
SendMessage Skickar det angivna meddelandet till ett fönster eller fönster. Funktionen SendMessage anropar fönsterproceduren för det angivna fönstret och returnerar inte förrän fönsterproceduren har bearbetat meddelandet.
Om du vill skicka ett meddelande och returnera omedelbart använder du funktionen SendMessageCallback eller SendNotifyMessage. Om du vill publicera ett meddelande i en tråds meddelandekö och returnera direkt använder du funktionen PostMessage eller PostThreadMessage.
SendMessageCallback Skickar det angivna meddelandet till ett fönster eller fönster. Den anropar fönsterproceduren för det angivna fönstret och returnerar omedelbart. När fönsterproceduren har bearbetat meddelandet anropar systemet den angivna återanropsfunktionen och skickar resultatet av meddelandebearbetningen och ett programdefinierat värde till återanropsfunktionen.
SendMessageTimeout Skickar det angivna meddelandet till ett av flera fönster.
SendNotifyMessage Skickar det angivna meddelandet till ett fönster eller fönster. Om fönstret skapades av den anropande tråden anropar SendNotifyMessage fönsterproceduren för fönstret och återgår inte förrän fönsterproceduren har bearbetat meddelandet. Om fönstret skapades av en annan tråd skickar SendNotifyMessage meddelandet till fönsterproceduren och returnerar omedelbart. Den väntar inte på att fönsterproceduren ska slutföra bearbetningen av meddelandet.
SetMessageExtraInfo Anger den extra meddelandeinformationen för den aktuella tråden. Extra meddelandeinformation är ett program- eller drivrutinsdefinierat värde som är associerat med den aktuella trådens meddelandekö. Ett program kan använda funktionen GetMessageExtraInfo för att hämta en tråds extra meddelandeinformation.
TranslateMessage Översätter meddelanden med virtuell nyckel till teckenmeddelanden. Teckenmeddelandena publiceras i den anropande trådens meddelandekö för att läsas nästa gång tråden anropar funktionen GetMessage eller PeekMessage.
WaitMessage Ger kontroll till andra trådar när en tråd inte har några andra meddelanden i meddelandekön. Funktionen WaitMessage pausar tråden och returnerar inte förrän ett nytt meddelande placeras i trådens meddelandekö.

Meddelandekonstanter

Namn Beskrivning
OCM__BASE Används för att definiera privata meddelanden för användning av privata fönsterklasser.
WM_APP Används för att definiera privata meddelanden.
WM_USER Används för att definiera privata meddelanden för användning av privata fönsterklasser.

Meddelandestrukturer

Namn Beskrivning
BSMINFO Innehåller information om ett fönster som nekade en begäran från BroadcastSystemMessageEx.
MSG Innehåller meddelandeinformation från en tråds meddelandekö.