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


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

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

ДоступныйОбъектИзСобытия

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

Заметка

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

 

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

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

AccessibleObjectFromPoint

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

AccessibleObjectFromWindow (получение доступного объекта из окна)

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

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