Condividi tramite


Messaggi e code di messaggi

Questa sezione descrive messaggi e code di messaggi e come usarli nelle applicazioni.

In questa sezione

Nome Descrizione
informazioni su messaggi e code di messaggi In questa sezione vengono illustrati messaggi e code di messaggi di Windows.
uso di messaggi e code di messaggi Gli esempi di codice seguenti illustrano come eseguire le attività seguenti associate a messaggi e code di messaggi di Windows.
di riferimento ai messaggi Contiene il riferimento all'API.

messaggi System-Provided

Per gli elenchi dei messaggi forniti dal sistema, vedere System-Defined Messaggi.

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 funzioneBroadcastSystemMessageEx.
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 routine finestra. Viene in genere usato per inviare un messaggio recuperato dalla funzioneGetMessage.
GetInputState Determina se nella coda dei messaggi del thread chiamante sono presenti messaggi con il pulsante del mouse o la tastiera.
GetMessage Recupera un messaggio dalla coda di messaggi del thread chiamante. La funzione invia messaggi inviati in arrivo fino a quando non è disponibile un messaggio inviato per il recupero.
A differenza di GetMessage, la funzionePeekMessagenon attende la pubblicazione di un messaggio prima della restituzione.
getMessageExtraInfo Recupera le informazioni aggiuntive sul messaggio per il thread corrente. Informazioni aggiuntive sui messaggi 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 funzioneGetMessage.
Per determinare la posizione corrente del cursore, usare la funzioneGetCursorPos.
GetMessageTime Recupera l'ora del messaggio per l'ultimo messaggio recuperato dalla funzioneGetMessage. Il tempo è un numero 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 dei messaggi del thread.
GetQueueStatus Indica il tipo di messaggi trovati nella coda dei messaggi del thread chiamante.
InSendMessage Determina se la routine finestra corrente sta elaborando un messaggio inviato da un altro thread (nello stesso processo o in un processo diverso) da una chiamata alla funzione SendMessage.
Per ottenere informazioni aggiuntive sulla modalità di invio del messaggio, usare la funzioneInSendMessageEx.
InSendMessageEx Determina se la routine della finestra corrente sta elaborando un messaggio inviato da un altro thread (nello stesso processo o in un processo diverso).
PeekMessage Invia messaggi inviati in ingresso, controlla la coda dei messaggi del thread per un messaggio pubblicato e recupera il messaggio (se presente).
PostMessage Inserisce un messaggio nella coda di messaggi associata al thread che ha creato la finestra specificata e restituisce senza attendere che il thread elabori il messaggio.
Per pubblicare un messaggio nella coda di messaggi associata a un thread, usare la funzionepostThreadMessage.
PostQuitMessage Indica al sistema che un thread ha effettuato una richiesta di terminare (uscire). 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 elabori il messaggio.
RegisterWindowMessage Definisce un nuovo messaggio di finestra che è garantito che sia univoco in tutto il sistema. Il valore del messaggio può essere utilizzato durante l'invio o la pubblicazione di messaggi.
ReplyMessage Risponde a un messaggio inviato tramite la funzioneSendMessagesenza restituire il controllo alla funzione che ha chiamato SendMessage.
SendAsyncProc Funzione di 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 ha elaborato il messaggio.
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 funzionePostMessageo 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 routine della finestra per la finestra e non restituisce finché 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 routine della finestra finisca l'elaborazione del messaggio.
setMessageExtraInfo Imposta le informazioni aggiuntive sul messaggio per il thread corrente. Informazioni aggiuntive sui messaggi sono un valore definito dall'applicazione o dal driver associato alla coda di messaggi del thread corrente. Un'applicazione può usare la funzioneGetMessageExtraInfoper recuperare informazioni aggiuntive sul messaggio di un thread.
TranslateMessage Converte i messaggi di chiave virtuale in messaggi di caratteri. I messaggi di tipo carattere vengono inviati alla coda di messaggi del thread chiamante, per essere letti alla successiva chiamata del thread alla funzioneGetMessageo PeekMessage.
WaitMessage Restituisce il controllo ad altri thread quando un thread non contiene altri messaggi nella coda dei messaggi. La funzioneWaitMessagesospende il thread e non restituisce finché non viene inserito un nuovo messaggio nella coda dei messaggi del thread.

Costanti message

Nome Descrizione
OCM__BASE Consente di definire messaggi privati per l'uso da parte delle classi finestra private.
WM_APP Usato per definire messaggi privati.
WM_USER Consente di definire messaggi privati per l'uso da parte delle classi finestra 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.