PeekMessage

La funzione PeekMessage controlla una coda di messaggi del thread per un messaggio e inserisce il messaggio (se presente) in struttura specificata.

(BOOL PeekMessage MSG  msg, / / puntatore alla struttura per messaggioHWNDhWnd, / / handle alla finestraUINTwMsgFilterMin, / / primo messaggioUINTwMsgFilterMax, / / ultimo messaggioUINTwRemoveMsg / / rimozione flags);
 

Parametri

msg
Puntatore a una struttura MSG che riceve le informazioni del messaggio.
hWnd
Gestire alla finestra, i cui messaggi sono esaminati.
wMsgFilterMin
Specifica il valore del primo messaggio nella gamma dei messaggi da esaminare.
wMsgFilterMax
Specifica il valore del messaggio ultimo nella gamma dei messaggi da esaminare.
wRemoveMsg
Specifica come vengono gestiti i messaggi. Questo parametro può essere uno dei seguenti valori:
Valore Significato
PM_NOREMOVE I messaggi non vengono rimossi dalla coda dopo la trasformazione da PeekMessage.
PM_REMOVE I messaggi vengono rimossi dalla coda dopo la trasformazione da PeekMessage.

Facoltativamente, è possibile combinare il valore PM_NOYIELD con PM_NOREMOVE o PM_REMOVE. Questo flag impedisce il sistema di rilasciare qualsiasi thread in attesa per il chiamante andare inattivo (vedere WaitForInputIdle).

Per impostazione predefinita, vengono elaborati tutti i tipi di messaggio. Per specificare che solo determinata messaggio deve essere elaborato, specificare uno o più dei seguenti valori:
Valore Significato
PM_QS_INPUT Windows NT 5.0 e Windows 98: Processi messaggi di mouse e tastiera.
PM_QS_PAINT Windows NT 5.0 e Windows 98: Elabora i messaggi di vernice.
PM_QS_POSTMESSAGE Windows NT 5.0 e Windows 98: Elaborare tutti i messaggi inviati, tra cui timer e tasti di scelta rapida.
PM_QS_SENDMESSAGE Windows NT 5.0 e Windows 98: Elaborare tutti inviati i messaggi.

Valori restituiti

Se un messaggio è disponibile, il valore restituito è diverso da zero.

Se nessun messaggio è disponibile, il valore restituito è pari a zero.

Osservazioni

A differenza della funzione GetMessage , la funzione PeekMessage non aspetta un messaggio per essere inserito nella coda prima di tornare.

PeekMessage 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, PeekMessage recupera i messaggi per qualsiasi finestra che appartiene alla chiamata al thread corrente. (PeekMessage non recupera i messaggi per windows che appartengono ad altri thread.) Se hWnd è – 1, PeekMessage restituisce solo i messaggi con un valore NULL, hWnd come pubblicato dalla funzione PostThreadMessage . Se wMsgFilterMin e wMsgFilterMax sono entrambi zero, PeekMessage 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 di tastiera; le costanti WM_MOUSEFIRST e WM_MOUSELAST possono essere utilizzate per recuperare tutti i messaggi del mouse.

La funzione PeekMessage normalmente non rimuove messaggi WM_PAINT dalla coda. Messaggi WM_PAINT restano nella coda fino a quando non vengono elaborati. Tuttavia, se un messaggio WM_PAINT ha un'area di aggiornamento null, PeekMessage rimuoverlo dalla coda.

Windows CE: Messaggi WM_PAINT con una regione di aggiornamento null non vengono rimossi dalla coda.

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, GetMessage, IsChild, MSG, WaitForInputIdle, WaitMessage

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

Index