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

Примечание

Эта документация предназначена для разработчиков .NET Framework, желающих использовать управляемые классы автоматизации пользовательского интерфейса, определенные в пространстве имен System.Windows.Automation. Последние сведения об автоматизации пользовательского интерфейса см. в статье API автоматизации Windows. Автоматизация пользовательского интерфейса.

Microsoft модель автоматизации пользовательского интерфейса — это новая платформа специальных возможностей для Microsoft Windows, доступная во всех операционных системах, поддерживающих Windows Presentation Foundation (WPF).

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

Примечание

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

Клиентские приложения модели автоматизации пользовательского интерфейса могут быть написаны с гарантией того, что они будут работать в разных средах. Ядро модель автоматизации пользовательского интерфейса маскирует любые различия в платформах, лежащих в основе различных элементов пользовательского интерфейса. Например, Content свойство кнопки WPF, Caption свойство кнопки Win32 и ALT свойство HTML-изображения сопоставляются с одним свойством Nameв представлении модель автоматизации пользовательского интерфейса.

модель автоматизации пользовательского интерфейса предоставляет полные функциональные возможности в поддерживаемых операционных системах Windows под управлением платформа .NET Framework (см. платформа .NET Framework требования к системе или версии .NET Core, начиная с .NET Core 3.0.

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

Поставщики и клиенты

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

Компонент Описание
API поставщика (UIAutomationProvider.dll и UIAutomationTypes.dll) Набор определений интерфейса, реализованных поставщиками модель автоматизации пользовательского интерфейса, объектами, которые предоставляют сведения об элементах пользовательского интерфейса и реагируют на программные входные данные.
API клиента (UIAutomationClient.dll и UIAutomationTypes.dll) Набор типов для управляемого кода, который позволяет модель автоматизации пользовательского интерфейса клиентским приложениям получать сведения о пользовательском интерфейсе и отправлять входные данные элементам управления.
UiAutomationCore.dll Базовый код (иногда называемый ядром модель автоматизации пользовательского интерфейса), который обрабатывает обмен данными между поставщиками и клиентами.
UIAutomationClientsideProviders.dll Набор поставщиков автоматизации пользовательского интерфейса для стандартных элементов управления прежних версий. (Элементы управления WPF имеют встроенную поддержку модель автоматизации пользовательского интерфейса.) Эта поддержка автоматически доступна для клиентских приложений.

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

Section Предмет рассмотрения Аудитория
Основы модель автоматизации пользовательского интерфейса (этот раздел) Расширенный обзор основных понятий. Все.
Поставщики автоматизации пользовательского интерфейса для управляемого кода Обзоры и практические руководства, помогающие использовать API поставщика. Разработчики элементов управления.
Клиенты автоматизации пользовательского интерфейса для управляемого кода Обзоры и практические руководства, помогающие использовать API клиента. Разработчики клиентских приложений.
Шаблоны модели автоматизации пользовательского интерфейса Сведения о порядке реализации поставщиками шаблонов элементов управления и о функциональных возможностях, доступных для клиентов. Все.
Шаблон текста модели автоматизации пользовательского интерфейса Сведения о порядке реализации поставщиками шаблонов элементов управления Text и о функциональных возможностях, доступных для клиентов. Все.
Типы элементов управления автоматизации пользовательского интерфейса Сведения о свойствах и шаблонах элементов управления, поддерживаемых разными типами элементов управления. Все.

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

Пространство имен Указанные DLL Аудитория
System.Windows.Automation UIAutomationClientUIAutomationTypes модель автоматизации пользовательского интерфейса разработчиков клиентов; используется для поиска AutomationElement объектов, регистрации модель автоматизации пользовательского интерфейса событий и работы с модель автоматизации пользовательского интерфейса шаблонов элементов управления.
System.Windows.Automation.Provider UIAutomationProviderUIAutomationTypes Разработчики модель автоматизации пользовательского интерфейса поставщиков для платформ, отличных от WPF.
System.Windows.Automation.Text UIAutomationClientUIAutomationTypes Разработчики модель автоматизации пользовательского интерфейса поставщиков для платформ, отличных от WPF; используется для реализации шаблона элемента управления TextPattern.
System.Windows.Automation.Peers PresentationFramework Разработчики поставщиков модель автоматизации пользовательского интерфейса для WPF.

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

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

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

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

Примечание

Однозначного соответствия между типами элементов управления и шаблонами элементов управления не существует. Шаблон элемента управления может поддерживаться несколькими типами элементов управления, и элемент управления может поддерживать несколько шаблонов элементов управления, каждый из которых представляет различные аспекты его поведения. Например, поле со списком имеет по крайней мере два шаблона элементов управления: один представляет его возможность разворачиваться и сворачиваться, а другой представляет механизм выбора. Особенности см. в разделе UI Automation Control Types.

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

См. также раздел