Поделиться через


Получение указателя интерфейса доступного объекта

Клиентские приложения Microsoft Active Accessibility извлекают указатели интерфейса на доступные объекты с помощью одной из следующих функций.

AccessibleObjectFromEvent

Многие клиенты ищут сведения о конкретных доступных объектах, которые создают события. Так как интерфейс IAccess является шлюзом для доступных объектов, клиенты должны легко связать WinEvents с интерфейсом IAccess объекта, создающего события. Microsoft Active Accessibility предоставляет функцию AccessObjectFromEvent специально для этой цели.

Заметка

Клиенты с функциями перехватчика в контексте должны вызывать функцию IsWindow перед вызовом AccessibleObjectFromEvent.

 

Функция AccessibleObjectFromEvent принимает большую часть той же информации, что и функция перехватчика клиента. Когда функция перехватчика клиента получает уведомление о событии, он передает соответствующие параметры из событий в AccessibleObjectFromEvent.

Функция извлекает либо интерфейс IAccessible элемента пользовательского интерфейса, который сгенерировал событие, либо интерфейс родительского объекта данного элемента. Если возвращается указатель интерфейса родительского объекта, клиент вызывает свойства и методы родительского объекта для получения сведений о дочернем элементе, который создал событие.

AccessibleObjectFromPoint

Чтобы получить адрес интерфейса IAccessible объекта в указанной точке на экране, клиенты используют функцию AccessibleObjectFromPoint.

AccessibleObjectFromWindow

Чтобы получить интерфейс IAccessible объекта из дескриптора окна, клиенты используют функцию AccessibleObjectFromWindow.

Возможно, что серверы возвращают отдельные указатели интерфейса для одного и того же элемента пользовательского интерфейса при каждом вызове функции AccessibleObjectFromEvent, AccessibleObjectFromPointили AccessibleObjectFromWindow. Чтобы определить, относятся ли два указателя к одному элементу пользовательского интерфейса, разработчики клиентов должны сравнить свойства IAccessible объекта, а не указатели.