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


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

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

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

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

  1. Получите экземпляр объекта CUIAutomation.

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

    Чтобы получить доступ к основной службе автоматизации пользовательского интерфейса, клиент должен создать экземпляр объекта CUIAutomation и получить указатель интерфейса IUIAutomation на объект. Указатель IUIAutomation является ключом клиента к доступу ко всем функциям автоматизации пользовательского интерфейса, доступным для клиента. Дополнительные сведения см. в Создание объекта CUIAutomation.

  2. получить интерфейсы IUIAutomationElement для элементов пользовательского интерфейса из дерева автоматизации пользовательского интерфейса.

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

    Объекты элементов автоматизации пользовательского интерфейса предоставляются клиентам в иерархической структуре дерева, называемой деревом автоматизации пользовательского интерфейса. Клиенты используют методы, предоставляемые интерфейсом IUIAutomation, для получения интерфейсов IUIAutomationElement элементов пользовательского интерфейса в дереве и получения других интерфейсов, используемых для поиска элементов дерева для элементов, соответствующих определенному набору критериев. Дополнительные сведения см. в разделе Получение элементов автоматизации пользовательского интерфейса.

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

  3. получить свойства элемента пользовательского интерфейса и вызвать функциональные возможности элемента пользовательского интерфейса.

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

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

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

концептуальные

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

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

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