Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Эта документация предназначена для разработчиков .NET Framework, которые хотят использовать управляемые классы автоматизации пользовательского интерфейса, определенные в пространстве имен System.Windows.Automation. Последние сведения об автоматизации пользовательского интерфейса см. в разделе API автоматизации Windows: автоматизация пользовательского интерфейса.
Служба автоматизации пользовательского интерфейса Майкрософт — это новая платформа специальных возможностей для 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 через встроенную службу бриджинга.
Поставщики и клиенты
Служба автоматизации пользовательского интерфейса содержит четыре основных компонента, как показано в следующей таблице.
Компонент | Описание |
---|---|
API поставщика (UIAutomationProvider.dll и UIAutomationTypes.dll) | Набор определений интерфейса, реализованных поставщиками автоматизации пользовательского интерфейса, объектами, предоставляющими сведения об элементах пользовательского интерфейса и реагирующих на программные входные данные. |
Клиентский API (UIAutomationClient.dll и UIAutomationTypes.dll) | Набор типов управляемого кода, позволяющий клиентским приложениям автоматизации пользовательского интерфейса получать сведения о пользовательском интерфейсе и отправлять входные данные элементам управления. |
UiAutomationCore.dll | Базовый код (иногда называемый ядром автоматизации пользовательского интерфейса), который обрабатывает обмен данными между поставщиками и клиентами. |
UIAutomationClientsideProviders.dll | Набор поставщиков автоматизации пользовательского интерфейса для стандартных устаревших элементов управления. (Элементы управления WPF поддерживают встроенную поддержку автоматизации пользовательского интерфейса.) Эта поддержка автоматически доступна клиентским приложениям. |
С точки зрения разработчика программного обеспечения существует два способа использования автоматизации пользовательского интерфейса: создание поддержки пользовательских элементов управления (с помощью API поставщика) и создание приложений, использующих ядро автоматизации пользовательского интерфейса для взаимодействия с элементами пользовательского интерфейса (с помощью клиентского API). В зависимости от вашего направления, следует обращаться к разным частям документации. Дополнительные сведения о концепциях и практических способах получения знаний см. в следующих разделах.
Секция | Предмет | Публика |
---|---|---|
Основы автоматизации пользовательского интерфейса (этот раздел) | Общие сведения о концепциях. | Все. |
поставщики автоматизации пользовательского интерфейса для управляемого кода | Обзоры и инструкции по использованию API поставщика. | Управление разработчиками. |
клиенты автоматизации пользовательского интерфейса для управляемого кода | Обзоры и инструкции по использованию клиентского API. | Разработчики клиентских приложений. |
шаблоны автоматизации элементов управления пользовательского интерфейса | Сведения о том, как следует реализовать шаблоны управления поставщиками и какие функции доступны клиентам. | Все. |
текстового шаблона автоматизации пользовательского интерфейса | Сведения о том, как следует реализовать шаблон элемента управления "Текст" поставщиками и какие функции доступны клиентам. | Все. |
Типы элементов управления автоматизации пользовательского интерфейса | Сведения о свойствах и шаблонах элементов управления, поддерживаемых различными типами элементов управления. | Все. |
В следующей таблице перечислены пространства имен автоматизации пользовательского интерфейса, библиотеки 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 объекты предоставляют общие свойства элементов пользовательского интерфейса, которые они представляют. Одним из этих свойств является тип элемента управления, который определяет его базовый внешний вид и функциональные возможности как единую узнаваемую сущность: например, кнопку или флажок.
Кроме того, элементы предоставляют шаблоны управления, которые содержат свойства, специфичные для их типов управления. Шаблоны элементов управления также предоставляют методы, позволяющие клиентам получать дополнительные сведения об элементе и предоставлять входные данные.
Замечание
Между типами элементов управления и шаблонами элементов управления не существует единого соответствия. Шаблон элемента управления может поддерживаться несколькими типами элементов управления, и элемент управления может поддерживать несколько шаблонов элементов управления, каждый из которых предоставляет различные аспекты его поведения. Например, комбинированный список имеет по крайней мере два паттерна управления: один отвечает за возможность расширять и сворачивать, а другой — за механизм выбора. Дополнительные сведения см. в разделе "Типы элементов управления автоматизации пользовательского интерфейса".
Автоматизация пользовательского интерфейса также предоставляет сведения клиентским приложениям через события. В отличие от WinEvents, события автоматизации пользовательского интерфейса не основаны на механизме трансляции. Клиенты службы автоматизации пользовательского интерфейса регистрируются для определенных уведомлений о событиях и могут запрашивать, чтобы определенные свойства автоматизации пользовательского интерфейса и сведения о шаблоне управления передаются в обработчики событий. Кроме того, событие автоматизации пользовательского интерфейса содержит ссылку на элемент, который его вызвал. Поставщики могут повысить производительность, выборочно вызывая события в зависимости от того, прослушиваются ли их клиенты.
См. также
- Обзор дерева автоматизации пользовательского интерфейса
- Обзор шаблонов управления автоматизацией пользовательского интерфейса
- Обзор свойств автоматизации пользовательского интерфейса
- Обзор событий автоматизации пользовательского интерфейса
- Общие сведения о безопасности автоматизации пользовательского интерфейса