Condividi tramite


Funzione GetMsgProc

-Descrizione

Funzione di callback definita dall'applicazione o definita dalla libreria usata con la funzione SetWindowsHookExA/SetWindowsHookExW. Il sistema chiama questa funzione ogni volta che la funzione GetMessage o PeekMessageA/PeekMessageW ha recuperato un messaggio da una coda di messaggi dell'applicazione. Prima di restituire il messaggio recuperato al chiamante, il sistema passa il messaggio alla routine hook.

Il tipo HOOKPROC definisce un puntatore a questa funzione di callback. GetMsgProc è un segnaposto per il nome di funzione definito dall'applicazione o definito dalla libreria.

LRESULT CALLBACK GetMsgProc(
  _In_ int    code,
  _In_ WPARAM wParam,
  _In_ LPARAM lParam
);

-Parametri

codice [in]

Tipo: int

Specifica se la routine hook deve elaborare il messaggio. Se il codice è HC_ACTION, la routine hook deve elaborare il messaggio. Se il codice è minore di zero, la routine hook deve passare il messaggio alla funzione CallNextHookEx senza ulteriore elaborazione e deve restituire il valore restituito da CallNextHookEx.

wParam [in]

Tipo: WPARAM

Specifica se il messaggio è stato rimosso dalla coda. Questo parametro può avere uno dei valori seguenti.

Valore Significato
PM_NOREMOVE 0x0000 Il messaggio non è stato rimosso dalla coda. (Un'applicazione denominata Funzione PeekMessage , specificando il flag PM_NOREMOVE .
PM_REMOVE 0x0001 Il messaggio è stato rimosso dalla coda. (Un'applicazione denominata GetMessage, o ha chiamato la funzione PeekMessage, specificando il flag PM_REMOVE.

lParam [in]

Tipo: LPARAM

Puntatore a una struttura MSG che contiene dettagli sul messaggio.

-Restituisce

Se il codice è minore di zero, la routine hook deve restituire il valore restituito da CallNextHookEx.

Se il codice è maggiore o uguale a zero, è consigliabile chiamare CallNextHookEx e restituire il valore restituito. In caso contrario, altre applicazioni che hanno installato WH_GETMESSAGE hook non riceveranno notifiche di hook e potrebbero comportarsi in modo non corretto come risultato. Se la routine hook non chiama CallNextHookEx, il valore restituito deve essere zero.

-Osservazioni

La procedura hook GetMsgProc può esaminare o modificare il messaggio.

Dopo che la routine hook restituisce il controllo al sistema, la funzione GetMessage o PeekMessageA/PeekMessageW restituisce il messaggio, insieme alle eventuali modifiche, all'applicazione che lo ha originariamente chiamato.

Un'applicazione installa questa procedura hook specificando il tipo di hook WH_GETMESSAGE e un puntatore alla routine hook in una chiamata alla funzione SetWindowsHookExA/SetWindowsHookExW.

Vedi anche

CallNextHookEx

GetMessage

MSG

PeekMessage

Setwindowshookex

Hook