Funzione SysMsgProc

Descrizione

Funzione di callback definita dall'applicazione o definita dalla libreria usata con la funzione SetWindowsHookExA/SetWindowsHookExW . Il sistema chiama questa funzione dopo che si verifica un evento di input in una finestra di dialogo, una finestra di messaggio, un menu o una barra di scorrimento, ma prima che il messaggio generato dall'evento di input venga elaborato. La funzione può monitorare i messaggi per qualsiasi finestra di dialogo, finestra di messaggio, menu o barra di scorrimento nel sistema.

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

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

Parametri

nCode [in]

Tipo: int

Tipo di evento di input che ha generato 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
MSGF_DIALOGBOX 0 L'evento di input si è verificato in una finestra di dialogo o in una finestra di dialogo.
MSGF_MENU 2 L'evento di input si è verificato in un menu.
MSGF_SCROLLBAR 5 L'evento di input si è verificato in una barra di scorrimento.

wParam

Tipo: WPARAM

Questo parametro non viene usato.

lParam [in]

Tipo: LPARAM

Puntatore a una struttura di messaggi MSG .

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_SYSMSGFILTER 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_SYSMSGFILTER e un puntatore alla procedura di hook in una chiamata alla funzione SetWindowsHookExA/SetWindowsHookExW .

Vedi anche

CallNextHookEx

MSG

Setwindowshookex

Hook