Funzione di callback CallWndProc
Funzione di callback definita dall'applicazione o definita dalla libreria usata con la funzione SetWindowsHookExA/SetWindowsHookExW . Il sistema chiama questa funzione prima di chiamare la routine window per elaborare un messaggio inviato al thread.
Il tipo HOOKPROC definisce un puntatore a questa funzione di callback. CallWndProc è un segnaposto per il nome della funzione definita dall'applicazione o definita dalla libreria.
LRESULT CALLBACK CallWndProc(
_In_ int nCode,
_In_ WPARAM wParam,
_In_ LPARAM lParam
);
nCode [in]
Tipo: intSpecifica se la routine hook deve elaborare il messaggio. Se nCode è HC_ACTION, la routine hook deve elaborare il messaggio. Se nCode è minore di zero, la routine hook deve passare il messaggio alla funzione CallNextHookEx senza ulteriori elaborazioni e deve restituire il valore restituito da CallNextHookEx.
wParam [in]
Tipo: WPARAMSpecifica se il messaggio è stato inviato dal thread corrente. Se il messaggio è stato inviato dal thread corrente, è diverso da zero; in caso contrario, è zero.
lParam [in]
Tipo: LPARAMPuntatore a una struttura CWPSTRUCT che contiene dettagli sul messaggio.
Digitare:****
Tipo: LRESULT
Se nCode è minore di zero, la routine hook deve restituire il valore restituito da CallNextHookEx.
Se nCode è maggiore o uguale a zero, è consigliabile chiamare CallNextHookEx e restituire il valore restituito; in caso contrario, altre applicazioni che hanno installato WH_CALLWNDPROC hook non riceveranno notifiche hook e potrebbero comportarsi in modo non corretto di conseguenza. Se la routine hook non chiama CallNextHookEx, il valore restituito deve essere zero.
La routine hook CallWndProc può esaminare il messaggio, ma non modificarlo. Dopo che la routine hook restituisce il controllo al sistema, il messaggio viene passato alla routine della finestra.
Un'applicazione installa la routine hook specificando il tipo di hook WH_CALLWNDPROC e un puntatore alla routine hook in una chiamata alla funzione SetWindowsHookExA/SetWindowsHookExW .
Client minimo supportato |
Windows 2000 Professional [solo app desktop] |
Server minimo supportato |
Windows 2000 Server [solo app desktop] |
Intestazione |
Winuser.h (include Windows.h) |