Zprávy a fronty zpráv
Tato část popisuje zprávy a fronty zpráv a jejich použití v aplikacích.
V této části
Jméno | Popis |
---|---|
o zprávách a frontách zpráv | Tato část popisuje zprávy systému Windows a fronty zpráv. |
používání zpráv a front zpráv | Následující příklady kódu ukazují, jak provádět následující úlohy spojené se zprávami a frontami zpráv systému Windows. |
referenční zpráv | Obsahuje referenční informace k rozhraní API. |
System-Provided zprávy
Seznam systémových zpráv naleznete v tématu System-Defined Zprávy.
Funkce zpráv
Jméno | Popis |
---|---|
BroadcastSystemMessage | Odešle zprávu určeným příjemcům. Příjemci mohou být aplikace, instalovatelné ovladače, síťové ovladače, ovladače zařízení na úrovni systému nebo libovolnou kombinaci těchto systémových komponent. Pokud chcete získat další informace, pokud je požadavek definován, použijte funkci BroadcastSystemMessageEx. |
BroadcastSystemMessageEx | Odešle zprávu určeným příjemcům. Příjemci mohou být aplikace, instalovatelné ovladače, síťové ovladače, ovladače zařízení na úrovni systému nebo libovolnou kombinaci těchto systémových komponent. Tato funkce je podobná BroadcastSystemMessage s tím rozdílem, že tato funkce může vrátit další informace od příjemců. |
DispatchMessage | Odešle zprávu do procedury okna. Obvykle se používá k odeslání zprávy načtené funkcí GetMessage. |
GetInputState | Určuje, zda jsou ve frontě zpráv volajícího vlákna zprávy tlačítka myši nebo klávesnice. |
GetMessage | Načte zprávu z fronty zpráv volajícího vlákna. Funkce odesílá příchozí odeslané zprávy, dokud nebude k dispozici odeslaná zpráva pro načtení. Na rozdíl od GetMessage, funkce PeekMessage nečeká na odeslání zprávy před vrácením. |
GetMessageExtraInfo | Načte další informace o zprávě pro aktuální vlákno. Další informace o zprávě jsou hodnota definovaná aplikací nebo ovladačem přidružená k frontě zpráv aktuálního vlákna. |
GetMessagePos | Načte pozici kurzoru poslední zprávy načtené funkcí GetMessage. K určení aktuální pozice kurzoru použijte funkci GetCursorPos. |
GetMessageTime | Načte čas zprávy poslední zprávy načtené funkcí GetMessage. Čas je dlouhé celé číslo, které určuje uplynulý čas v milisekundách od okamžiku, kdy byl systém zahájen do doby, kdy byla zpráva vytvořena (tedy umístěna ve frontě zpráv vlákna). |
GetQueueStatus | Označuje typ zpráv nalezených ve frontě zpráv volajícího vlákna. |
InSendMessage | Určuje, zda aktuální okno procedura zpracovává zprávu, která byla odeslána z jiného vlákna (ve stejném procesu nebo jiný proces) voláním SendMessage funkce. Pokud chcete získat další informace o tom, jak byla zpráva odeslána, použijte funkci InSendMessageEx. |
InSendMessageEx | Určuje, zda aktuální procedura okna zpracovává zprávu odeslanou z jiného vlákna (ve stejném procesu nebo jiném procesu). |
PeekMessage | Odešle příchozí odeslané zprávy, zkontroluje frontu zpráv ve vlákně pro zaúčtované zprávy a načte zprávu (pokud existuje). |
PostMessage | Publikuje zprávu ve frontě zpráv přidružené k vláknu, které vytvořilo zadané okno, a vrátí zprávu bez čekání na zpracování zprávy ve vlákně. Chcete-li publikovat zprávu ve frontě zpráv přidružené k vláknu, použijte funkci PostThreadMessage. |
PostQuitMessage | Označuje systém, že vlákno vytvořilo požadavek na ukončení (ukončení). Obvykle se používá v reakci na zprávu WM_DESTROY. |
PostThreadMessage | Odešle zprávu do fronty zpráv zadaného vlákna. Vrátí se bez čekání na zpracování zprávy ve vlákně. |
RegisterWindowMessage | Definuje novou zprávu okna, která zaručuje, že bude v celém systému jedinečná. Hodnotu zprávy lze použít při odesílání nebo publikování zpráv. |
ReplyMessage | Odpoví na zprávu poslanou prostřednictvím funkce SendMessage bez vrácení kontroly na funkci, která volala SendMessage. |
SendAsyncProc | Funkce zpětného volání definovaná aplikací použitá s funkcí SendMessageCallback. Systém předá zprávu funkci zpětného volání po předání zprávy do cílového okna. Typ SENDASYNCPROC definuje ukazatel na tuto funkci zpětného volání.
sendAsyncProc je zástupný symbol pro název funkce definované aplikací. |
SendMessage | Odešle zadanou zprávu do okna nebo oken. Funkce SendMessage volá proceduru okna pro zadané okno a nevrací, dokud procedura okna nezpracovala zprávu. Chcete-li odeslat zprávu a vrátit se okamžitě, použijte funkci SendMessageCallback nebo SendNotifyMessage. Chcete-li odeslat zprávu do fronty zpráv vlákna a vrátit se okamžitě, použijte funkci PostMessage nebo PostThreadMessage. |
SendMessageCallback | Odešle zadanou zprávu do okna nebo oken. Volá proceduru okna pro zadané okno a vrátí okamžitě. Jakmile procedura okna zpracuje zprávu, systém zavolá zadanou funkci zpětného volání, předá výsledek zpracování zprávy a hodnotu definovanou aplikací do funkce zpětného volání. |
SendMessageTimeout | Odešle zadanou zprávu do jednoho z více oken. |
SendNotifyMessage | Odešle zadanou zprávu do okna nebo oken. Pokud bylo okno vytvořeno volajícím vláknem, SendNotifyMessage volá proceduru okna pro okno a nevrací, dokud procedura okna nezpracovala zprávu. Pokud bylo okno vytvořeno jiným vláknem, SendNotifyMessage předá zprávu do procedury okna a vrátí okamžitě; nečeká, až proces okna dokončí zpracování zprávy. |
SetMessageExtraInfo | Nastaví další informace o zprávě pro aktuální vlákno. Další informace o zprávě jsou hodnota definovaná aplikací nebo ovladačem přidružená k frontě zpráv aktuálního vlákna. Aplikace může použít funkci GetMessageExtraInfo k načtení dalších informací o zprávě vlákna. |
TranslateMessage | Překládá zprávy virtuálních klíčů na zprávy znaků. Zprávy znaků se publikují do fronty zpráv volajícího vlákna, aby bylo přečteno při příštím volání vlákna GetMessage nebo PeekMessage funkce. |
WaitMessage | Poskytuje kontrolu nad jinými vlákny v případě, že vlákno nemá žádné jiné zprávy ve frontě zpráv. Funkce WaitMessage pozastaví vlákno a nevrátí se, dokud se do fronty zpráv vlákna nevrátí nová zpráva. |
Konstanty zpráv
Jméno | Popis |
---|---|
OCM__BASE | Používá se k definování soukromých zpráv pro použití v soukromých třídách oken. |
WM_APP | Slouží k definování soukromých zpráv. |
WM_USER | Používá se k definování soukromých zpráv pro použití v soukromých třídách oken. |
Struktury zpráv
Jméno | Popis |
---|---|
BSMINFO | Obsahuje informace o okně, které zamítlo požadavek z BroadcastSystemMessageEx. |
MSG | Obsahuje informace o zprávě z fronty zpráv vlákna. |