GetMessage

La funzione GetMessage recupera un messaggio dalla coda di messaggi del thread chiamante e lo inserisce nella struttura specificata. Questa funzione può recuperare entrambi i messaggi associati a una finestra specificata e i messaggi del thread inviato via il PostThreadMessage funzione. La funzione recupera i messaggi che si trovano all'interno di un intervallo di valori messaggio specificato. GetMessage non recupera i messaggi per windows che appartengono ad altri thread o applicazioni.

(BOOL GetMessage MSG  msg, / / indirizzo della struttura con messaggioHWNDhWnd, / / handle di finestraUINTwMsgFilterMin, / / primo messaggioUINTwMsgFilterMax / / ultimo messaggio);
 

Parametri

msg
Puntatore a una struttura MSG che riceve le informazioni del messaggio dalla coda di messaggi del thread.
hWnd
Gestire alla finestra, i cui messaggi sono da recuperare. Un valore ha un significato speciale:
Valore Significato
NULL GetMessage recupera i messaggi per qualsiasi finestra che appartiene al thread chiamante e filo messaggi inviati al thread chiamante tramite PostThreadMessage.

wMsgFilterMin
Specifica il valore più basso del messaggio viene recuperato il valore intero.
wMsgFilterMax
Specifica il valore più alto del messaggio viene recuperato il valore intero.

Valori restituiti

Se la funzione recupera un messaggio diverso da WM_QUIT, il valore restituito è diverso da zero.

Se la funzione recupera il messaggio WM_QUIT, il valore restituito è zero.

Se c'è un errore, il valore restituito è -1. Ad esempio, la funzione ha esito negativo se hWnd è un handle non valido o msg è un puntatore non valido. Per ottenere informazioni di errore estese, chiamare GetLastError.

Osservazioni

Un'applicazione in genere utilizza il valore restituito per determinare se terminare il ciclo di messaggi principale e uscire dal programma.

La funzione GetMessage recupera solo i messaggi associati alla finestra identificata dal parametro hWnd o uno dei suoi figli, come specificato dalla funzione IsChild ed entro l'intervallo di valori di messaggio dato dai parametri wMsgFilterMin e wMsgFilterMax . Se hWnd è NULL, GetMessage recupera i messaggi per qualsiasi finestra che appartiene al thread chiamante e filo messaggi inviati al thread chiamante tramite PostThreadMessage. GetMessage non recupera i messaggi per windows che appartengono ad altri thread né per thread diversi thread chiamante, anche se hWnd non è NULL. Messaggi di filo, inviati dalla funzione PostThreadMessage , che il messaggio hWnd valore null. Se wMsgFilterMin e wMsgFilterMax sono entrambi zero, GetMessage restituisce tutti i messaggi disponibili (cioè, nessun filtro gamma viene eseguito).

Le costanti WM_KEYFIRST e WM_KEYLAST possono essere utilizzate come valori di filtro per recuperare tutti i messaggi relativi all'input da tastiera; le costanti WM_MOUSEFIRST e WM_MOUSELAST possono essere utilizzate per recuperare tutti i messaggi del mouse. Se i parametri wMsgFilterMin e wMsgFilterMax sono entrambi zero, la funzione GetMessage restituisce tutti i messaggi disponibili (che è, senza eseguire ogni filtraggio).

GetMessage non rimuove messaggi WM_PAINT dalla coda. I messaggi restano nella coda fino all'elaborazione di.

Notare che il valore restituito della funzione può essere diverso da zero, zero o -1. Così, si dovrebbe evitare di codice di questo tipo:

mentre (GetMessage (msg, hWnd, 0, 0)) 
 

La possibilità di un valore restituito-1 significa che tale codice può portare a errori di applicazione fatale.

Descrizione

nbsp; Windows &NT: richiede 3.1 o versione successiva.
Windows:Richiede Windows 95 o versioni successive.
Windows CE:Richiede la versione 1.0 o successiva.
Intestazione:Dichiarati in winuser.
Importare librerie:Utilizzare user32.lib.
Unicode:Implementato come versioni Unicode e ANSI su Windows NT.

Vedi anche

Messaggi e panoramica delle code di messaggi, messaggio e funzioni di coda dei messaggi, IsChild, MSG, PeekMessage, PostMessage, PostThreadMessage, WaitMessage

Rimedio: Inserire il CD-ROM CD di MSDN Library.

Index