Registrando uma função hook
Os aplicativos cliente recebem WinEvents em uma função de retorno de chamada WinEventProc . As ações executadas pela função de retorno de chamada são definidas pelo aplicativo, mas a sintaxe deve ser conforme especificado no protótipo.
Antes de receber eventos, a função deve ser registrada chamando SetWinEventHook. O cliente pode chamar SetWinEventHook mais de uma vez para registrar diferentes funções de gancho ou para definir eventos adicionais para uma função de gancho registrada anteriormente.
Ao chamar SetWinEventHook , o cliente especifica quais eventos receber e como recebê-los. O cliente pode optar por:
- Receber todos os eventos ou um conjunto específico de eventos.
- Receber eventos de todos os threads ou de um thread específico.
- Receber eventos de todos os processos ou de um processo específico.
- Manipular eventos em processo ou fora do processo.
Quando um evento é gerado que corresponde aos critérios especificados, o sistema chama a função de retorno de chamada WinEventProc do cliente (ou "procedimento de gancho"). Os parâmetros que a função hook recebe informam ao cliente sobre a janela, o objeto e o possível elemento filho que gerou o evento. Um cliente usa esses parâmetros em uma chamada de recuperação de objeto, como AccessibleObjectFromEvent.