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


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

ПримечаниеПримечание

Эта документация предназначена для разработчиков на платформе .NET Framework, которым требуется использовать управляемые классы UI Automation, определенные в пространстве имен System.Windows.Automation.Последние сведения о UI Automation см. на веб-странице Windows Automation API: UI Automation.

Поставщики автоматизации пользовательского интерфейса позволяют элементам управления взаимодействовать с приложениями-клиентами автоматизации пользовательского интерфейса. В общем случае каждый элемент управления или другой отдельный элемент в user interface (UI) представлен поставщиком. Поставщик предоставляет сведения об элементе и при необходимости реализует шаблоны элементов управления, которые позволяют клиентскому приложению взаимодействовать с элементом управления.

Обычно клиентским приложениям нет необходимости работать с поставщиками напрямую. Большинство стандартных элементов управления в приложениях, использующих платформу Win32, Windows Forms или Windows Presentation Foundation (WPF), автоматически предоставляются системе UI Automation. Приложения, реализующие пользовательские элементы управления, могут также реализовать поставщиков UI Automation для этих элементов управления, и клиентским приложениям не требуется предпринимать дополнительные действия для получения доступа к ним.

В этом разделе содержатся общие сведения о способах реализации поставщиков UI Automation разработчиками элементов управления, в особенности для элементов управления в окнах Windows Forms и Win32.

В этом разделе содержатся следующие подразделы.

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

Типы поставщиков

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

Клиентские поставщики

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

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

Серверные поставщики

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

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

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

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

Elements

Элементами UI Automation являются фрагменты user interface (UI), которые видны клиентам автоматизации пользовательского интерфейса. Примеры включают в себя окна приложений, области, кнопки, подсказки, поля списков и элементы списков.

Навигация

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

Дополнительные сведения о клиентском представлении дерева UI Automation см. в разделе Общие сведения о дереве модели автоматизации пользовательского интерфейса.

Представления

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

Начальное представление

Содержит все элементы.

Представление элементов управления

Содержит элементы, которые являются элементами управления.

Представление содержимого

Содержит элементы, имеющие содержимое.

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

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

Структуры

Структура — это компонент, который управляет дочерними элементами управления, проверкой попадания и визуализацией в области экрана. Например, окно Win32, часто называемое HWND, может служить структурой, которая содержит несколько элементов UI Automation, таких как меню, строки состояния и кнопки.

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

UI в приложении может состоять из различных структур. Например, окно приложения HWND может содержать Dynamic HTML (DHTML), который, в свою очередь, содержит компонент (например, поле со списком в HWND).

Фрагменты

Фрагмент — это завершенное поддерево элементов из определенной структуры. Элемент корневого узла поддерева называется корнем фрагмента. Корень фрагмента не имеет родительского объекта, но размещается в некоторой другой структуре, обычно в окне Win32 (HWND).

узлы

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

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

См. также

Основные понятия

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