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