Регистрация функции перехватчика
Клиентские приложения получают WinEvents в функции обратного вызова WinEventProc. Действия, выполняемые функцией обратного вызова, определяются приложением, но синтаксис должен быть указан в прототипе.
Перед получением событий функция должна быть зарегистрирована путем вызова SetWinEventHook. Клиент может вызывать SetWinEventHook несколько раз для регистрации различных функций перехватчика или задания дополнительных событий для ранее зарегистрированной функции перехватчика.
При вызове SetWinEventHook клиент указывает, какие события следует получать и как получать. Клиент может выбрать следующее:
- Получите все события или определенный набор событий.
- Получать события из всех потоков или из определенного потока.
- Получайте события из всех процессов или из определенного процесса.
- Обработка событий внутри процесса или вне его.
При создании события, соответствующего указанному критерию, система вызывает функцию обратного вызова клиента WinEventProc (или процедуру перехвата). Параметры, получаемые функцией перехватчика, сообщают клиенту о окне, объекте и возможном дочернем элементе, который создал событие. Клиент использует эти параметры в вызове извлечения объекта, например AccessibleObjectFromEvent.