Condividi tramite


Registrazione di una funzione hook

Le applicazioni client ricevono WinEvents in una funzione di callback WinEventProc . Le azioni eseguite dalla funzione di callback sono definite dall'applicazione, ma la sintassi deve essere specificata nel prototipo.

Prima di poter ricevere eventi, la funzione deve essere registrata chiamando SetWinEventHook. Il client può chiamare SetWinEventHook più volte per registrare funzioni hook diverse o per impostare eventi aggiuntivi per una funzione hook registrata in precedenza.

Quando si chiama SetWinEventHook , il client specifica quali eventi ricevere e come riceverli. Il client può scegliere di:

  • Ricevere tutti gli eventi o un set specifico di eventi.
  • Ricevere eventi da tutti i thread o da un thread specifico.
  • Ricevere eventi da tutti i processi o da un processo specifico.
  • Gestire gli eventi in fase di elaborazione o fuori processo.

Quando viene generato un evento che corrisponde ai criteri specificati, il sistema chiama la funzione di callback WinEventProc del client (o "procedura hook"). I parametri ricevuti dalla funzione hook indicano al client la finestra, l'oggetto e il possibile elemento figlio che ha generato l'evento. Un client usa questi parametri in una chiamata di recupero di oggetti, ad esempio AccessibleObjectFromEvent.