Messaggi e code di messaggi
In questa sezione vengono descritti messaggi e code di messaggi e come usarli nelle applicazioni.
Contenuto della sezione
Nome | Descrizione |
---|---|
Informazioni sui messaggi e sulle code di messaggi | Questa sezione illustra i messaggi e le code di messaggi di Windows. |
Uso di messaggi e code di messaggi | Gli esempi di codice seguenti illustrano come eseguire le attività seguenti associate ai messaggi e alle code dei messaggi di Windows. |
Informazioni di riferimento sul messaggio | Contiene il riferimento all'API. |
messaggi System-Provided
Per elenchi dei messaggi forniti dal sistema, vedere Messaggi definiti dal sistema.
Funzioni di messaggio
Nome | Descrizione |
---|---|
BroadcastSystemMessage | Invia un messaggio ai destinatari specificati. I destinatari possono essere applicazioni, driver installabili, driver di rete, driver di dispositivo a livello di sistema o qualsiasi combinazione di questi componenti di sistema. Per ricevere informazioni aggiuntive se la richiesta è definita, usare la funzione BroadcastSystemMessageEx . |
BroadcastSystemMessageEx | Invia un messaggio ai destinatari specificati. I destinatari possono essere applicazioni, driver installabili, driver di rete, driver di dispositivo a livello di sistema o qualsiasi combinazione di questi componenti di sistema. Questa funzione è simile a BroadcastSystemMessage , ad eccezione del fatto che questa funzione può restituire altre informazioni dai destinatari. |
DispatchMessage | Invia un messaggio a una procedura di finestra. In genere viene usato per inviare un messaggio recuperato dalla funzione GetMessage . |
GetInputState | Determina se nella coda del messaggio del thread chiamante sono presenti messaggi con pulsante del mouse o tastiera. |
GetMessage | Recupera un messaggio dalla coda di messaggi del thread chiamante. La funzione invia messaggi inviati in ingresso fino a quando non è disponibile un messaggio pubblicato per il recupero. A differenza di GetMessage, la funzione PeekMessage non attende la pubblicazione di un messaggio prima della restituzione. |
GetMessageExtraInfo | Recupera le informazioni aggiuntive sul messaggio per il thread corrente. Le informazioni sui messaggi aggiuntivi sono un valore definito dall'applicazione o dal driver associato alla coda di messaggi del thread corrente. |
GetMessagePos | Recupera la posizione del cursore per l'ultimo messaggio recuperato dalla funzione GetMessage . Per determinare la posizione corrente del cursore, usare la funzione GetCursorPos . |
GetMessageTime | Recupera l'ora del messaggio per l'ultimo messaggio recuperato dalla funzione GetMessage . Il tempo è un intero lungo che specifica il tempo trascorso, in millisecondi, dal momento in cui il sistema è stato avviato al momento in cui è stato creato il messaggio, ovvero inserito nella coda del messaggio del thread. |
GetQueueStatus | Indica il tipo di messaggi trovati nella coda del messaggio del thread chiamante. |
InSendMessage | Determina se la routine della finestra corrente elabora un messaggio inviato da un altro thread (nello stesso processo o in un processo diverso) tramite una chiamata alla funzione SendMessage . Per ottenere informazioni aggiuntive sul modo in cui è stato inviato il messaggio, usare la funzione InSendMessageEx . |
InSendMessageEx | Determina se la routine della finestra corrente elabora un messaggio inviato da un altro thread (nello stesso processo o in un processo diverso). |
PeekMessage | Invia messaggi inviati in arrivo, controlla la coda dei messaggi di thread per un messaggio pubblicato e recupera il messaggio (se presente). |
PostMessage | Invia un messaggio nella coda di messaggi associata al thread che ha creato la finestra specificata e restituisce senza attendere che il thread elabora il messaggio. Per pubblicare un messaggio nella coda di messaggi associata a un thread, usare la funzione PostThreadMessage . |
PostQuitMessage | Indica al sistema che un thread ha effettuato una richiesta di termina (quit). Viene in genere usato in risposta a un messaggio di WM_DESTROY . |
PostThreadMessage | Invia un messaggio alla coda di messaggi del thread specificato. Restituisce senza attendere che il thread elabora il messaggio. |
RegisterWindowMessage | Definisce un nuovo messaggio di finestra che è garantito essere univoco in tutto il sistema. Il valore del messaggio può essere usato durante l'invio o la pubblicazione di messaggi. |
ReplyMessage | Risponde a un messaggio inviato tramite la funzione SendMessage senza restituire il controllo alla funzione che ha chiamato SendMessage. |
SendAsyncProc | Funzione callback definita dall'applicazione usata con la funzione SendMessageCallback . Il sistema passa il messaggio alla funzione di callback dopo aver passato il messaggio alla routine della finestra di destinazione. Il tipo SENDASYNCPROC definisce un puntatore a questa funzione di callback.
SendAsyncProc è un segnaposto per il nome della funzione definita dall'applicazione. |
SendMessage | Invia il messaggio specificato a una finestra o a una finestra. La funzione SendMessage chiama la routine della finestra per la finestra specificata e non restituisce finché la routine della finestra non è stata elaborata. Per inviare un messaggio e restituire immediatamente, usare la funzione SendMessageCallback o SendNotifyMessage . Per pubblicare un messaggio nella coda di messaggi di un thread e restituire immediatamente, usare la funzione PostMessage o PostThreadMessage . |
SendMessageCallback | Invia il messaggio specificato a una finestra o a una finestra. Chiama la routine della finestra per la finestra specificata e restituisce immediatamente. Dopo che la routine della finestra elabora il messaggio, il sistema chiama la funzione di callback specificata, passando il risultato dell'elaborazione del messaggio e un valore definito dall'applicazione alla funzione di callback. |
SendMessageTimeout | Invia il messaggio specificato a una di più finestre. |
SendNotifyMessage | Invia il messaggio specificato a una finestra o a una finestra. Se la finestra è stata creata dal thread chiamante, SendNotifyMessage chiama la procedura della finestra per la finestra e non restituisce fino a quando la routine della finestra non ha elaborato il messaggio. Se la finestra è stata creata da un thread diverso, SendNotifyMessage passa il messaggio alla routine della finestra e restituisce immediatamente; non attende che la procedura della finestra finisca l'elaborazione del messaggio. |
SetMessageExtraInfo | Imposta le informazioni di messaggio aggiuntive per il thread corrente. Le informazioni sui messaggi aggiuntivi sono un valore definito dall'applicazione o dal driver associato alla coda di messaggi del thread corrente. Un'applicazione può usare la funzione GetMessageExtraInfo per recuperare le informazioni aggiuntive del messaggio di un thread. |
TranslateMessage | Converte i messaggi di chiave virtuale in messaggi di carattere. I messaggi di carattere vengono pubblicati nella coda dei messaggi del thread chiamante, per essere letti la prossima volta che il thread chiama la funzione GetMessage o PeekMessage . |
WaitMessage | Restituisce il controllo ad altri thread quando un thread non contiene altri messaggi nella coda dei messaggi. La funzione WaitMessage sospende il thread e non restituisce finché non viene inserito un nuovo messaggio nella coda del messaggio del thread. |
Costanti dei messaggi
Nome | Descrizione |
---|---|
OCM__BASE | Usato per definire i messaggi privati da usare da classi di finestre private. |
WM_APP | Usato per definire i messaggi privati. |
WM_USER | Usato per definire i messaggi privati da usare da classi di finestre private. |
Strutture dei messaggi
Nome | Descrizione |
---|---|
BSMINFO | Contiene informazioni su una finestra che ha negato una richiesta da BroadcastSystemMessageEx. |
MSG | Contiene informazioni sul messaggio dalla coda di messaggi di un thread. |