Condividi tramite


Funzione MouseProc

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 un'applicazione chiama la funzione GetMessage o PeekMessageA/PeekMessageW e viene elaborato un messaggio del mouse.

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

LRESULT CALLBACK MouseProc(
  _In_ int    nCode,
  _In_ WPARAM wParam,
  _In_ LPARAM lParam
);

Parametri

nCode [in]

Tipo: int

Codice usato dalla routine di hook per determinare come elaborare il messaggio.

Se nCode è minore di zero, la procedura di hook deve passare il messaggio alla funzione CallNextHookEx senza ulteriore elaborazione e deve restituire il valore restituito da CallNextHookEx.

Questo parametro può avere uno dei valori seguenti.

Valore Significato
HC_ACTION 0 I parametri wParam e lParam contengono informazioni su un messaggio del mouse.
HC_NOREMOVE 3 I parametri wParam e lParam contengono informazioni su un messaggio del mouse e il messaggio del mouse non è stato rimosso dalla coda dei messaggi. Un'applicazione denominata funzione PeekMessage , specificando il flag di PM_NOREMOVE .

wParam [in]

Tipo: WPARAM

Identificatore del messaggio del mouse.

lParam [in]

Tipo: LPARAM

Puntatore a una struttura MOUSEHOOKSTRUCT .

Restituisce

Tipo: LRESULT

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

Se nCode è maggiore o uguale a zero e la procedura di hook non ha elaborato il messaggio, è consigliabile chiamare CallNextHookEx e restituire il valore restituito; in caso contrario, altre applicazioni installate WH_MOUSE hook non riceveranno notifiche di hook e potrebbero comportarsi in modo errato come risultato.

Se la procedura di hook ha elaborato il messaggio, può restituire un valore diverso da zero per impedire al sistema di passare il messaggio alla procedura della finestra di destinazione.

Commenti

Un'applicazione installa la procedura di hook specificando il tipo di hook WH_MOUSE e un puntatore alla procedura di collegamento in una chiamata alla funzione SetWindowsHookExA/SetWindowsHookExW .

La procedura di hook non deve installare una funzione di callback WH_JOURNALPLAYBACK .

Questo hook può essere chiamato nel contesto del thread che l'ha installato. La chiamata viene effettuata inviando un messaggio al thread che ha installato l'hook. Pertanto, il thread che ha installato l'hook deve avere un ciclo di messaggi.

Vedi anche

CallNextHookEx

GetMessage

MOUSEHOOKSTRUCT

PeekMessage

Setwindowshookex

Hook

Informazioni su Hook