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


Обзор событий автоматизации пользовательского интерфейса

Уведомление о событии автоматизации пользовательского интерфейса Майкрософт — это ключевая функция для вспомогательных технологий, таких как средства чтения с экрана и экранные лупы. Эти клиенты службы автоматизации пользовательского интерфейса отслеживают события, создаваемые поставщиками автоматизации пользовательского интерфейса, когда что-то происходит в пользовательском интерфейсе и используют сведения для уведомления конечных пользователей.

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

События автоматизации пользовательского интерфейса делятся на следующие категории.

Категория событий Описание
Изменение свойства Вызывается при изменении свойства элемента автоматизации пользовательского интерфейса или шаблона элемента управления. Например, если клиенту требуется отслеживать элемент управления флажком приложения, он может зарегистрировать для прослушивания события изменения свойства в свойстве свойстве IUIAutomationTogglePattern::CurrentToggleState. Если флажок установлен или снят, поставщик вызывает событие, и клиент может действовать по мере необходимости.
Действие элемента Вызывается при изменении пользовательского интерфейса пользователем или в результате программного действия, например, при нажатии кнопки или срабатывании IUIAutomationInvokePattern.
Изменение структуры Вызывается при изменении структуры дерева автоматизации пользовательского интерфейса. Структура изменяется, когда новые элементы пользовательского интерфейса становятся видимыми, скрытыми или удаленными на рабочем столе.
Изменение глобального рабочего стола Возникает, когда возникают действия глобального интереса к клиенту, например при перемещении фокуса с одного элемента на другой или при закрытии окна.
Уведомление Вызывается при вызове функции UiaRaiseNotificationEvent приложением. NotificationKind указывает тип уведомления.

 

Некоторые события не обязательно означают, что состояние пользовательского интерфейса изменилось. Например, если пользователь нажимает кнопку на поле записи текста, а затем нажимает кнопку для обновления поля, возникает событие UIA_Text_TextChangedEventId, даже если пользователь не изменил текст. При обработке события может потребоваться для клиентского приложения проверить, изменилось ли что-либо, прежде чем принимать меры.

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

Описание всех событий автоматизации пользовательского интерфейса см. в разделе Идентификаторы событий.

Подписка на события автоматизации интерфейса пользователя