Übersicht über die BenutzeroberflächenautomatisierungUI Automation Overview

Hinweis

Diese Dokumentation ist für .NET Framework-Entwickler vorgesehen, die die verwalteten BenutzeroberflächenautomatisierungUI Automation-Klassen verwenden möchten, die im System.Windows.Automation-Namespace definiert sind.This documentation is intended for .NET Framework developers who want to use the managed BenutzeroberflächenautomatisierungUI Automation classes defined in the System.Windows.Automation namespace. Die neuesten Informationen zu BenutzeroberflächenautomatisierungUI Automationfinden Sie unter Windows Automation-API: Automatisierungder Benutzeroberfläche.For the latest information about BenutzeroberflächenautomatisierungUI Automation, see Windows Automation API: UI Automation.

Microsoft-UI-AutomatisierungMicrosoft UI Automation ist das neue Barrierefreiheit-Framework für Microsoft WindowsMicrosoft Windows. Es ist für alle Betriebssysteme verfügbar, die Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF)unterstützen.is the new accessibility framework for Microsoft WindowsMicrosoft Windows, available on all operating systems that support Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF).

DieBenutzeroberflächenautomatisierungUI Automation stellt programmgesteuerten Zugriff auf die meisten Benutzeroberfläche (User Interface, UI)user interface (UI) auf dem Desktop zur Verfügung, sodass Hilfstechnologieprodukte, z. B. die Bildschirmsprachausgabe, Informationen über die UIUI für die Endbenutzer bereitstellen und die UIUI mit anderen Verfahren als Standardeingaben ändern können.BenutzeroberflächenautomatisierungUI Automation provides programmatic access to most Benutzeroberfläche (User Interface, UI)user interface (UI) elements on the desktop, enabling assistive technology products such as screen readers to provide information about the UIUI to end users and to manipulate the UIUI by means other than standard input. BenutzeroberflächenautomatisierungUI Automation ermöglicht außerdem die Interaktion von automatisierten Testskripts mit der UIUI.also allows automated test scripts to interact with the UIUI.

Hinweis

BenutzeroberflächenautomatisierungUI Automation ermöglicht keine Kommunikation zwischen Prozessen, die von anderen Benutzern durch den Befehl Ausführen als gestartet werden.does not enable communication between processes started by different users through the Run as command.

Benutzeroberflächenautomatisierungs-Clientanwendungen können mit der Gewissheit geschrieben werden, dass sie mit verschiedenen Frameworks funktionieren.UI Automation client applications can be written with the assurance that they will work on multiple frameworks. Der BenutzeroberflächenautomatisierungUI Automation -Kern maskiert alle Unterschiede in den Frameworks, die den verschiedenen Komponenten von UIUIzugrunde liegen.The BenutzeroberflächenautomatisierungUI Automation core masks any differences in the frameworks that underlie various pieces of UIUI. Beispielsweise sind die Content -Eigenschaft einer WPFWPF -Schaltfläche, die Caption -Eigenschaft einer Win32Win32 -Schaltfläche und die ALT -Eigenschaft eines HTML-Bildes alle nur einer einzelnen Eigenschaft, Name, in der BenutzeroberflächenautomatisierungUI Automation -Ansicht zugewiesen.For example, the Content property of a WPFWPF button, the Caption property of a Win32Win32 button, and the ALT property of an HTML image are all mapped to a single property, Name, in the BenutzeroberflächenautomatisierungUI Automation view.

Die Benutzeroberflächen Automatisierung bietet vollständige Funktionalität für unterstützte Windows-Betriebssysteme, auf denen die .NET Framework ausgeführt wird (siehe .NET Framework Systemanforderungen oder Versionen von .net Core ab .net Core 3,0.UI Automation provides full functionality on supported Windows operating systems running the .NET Framework (see .NET Framework system requirements or versions of .NET Core starting with .NET Core 3.0.

Benutzeroberflächenautomatisierungs-Anbieter bieten durch einen integrierten Überbrückungs Dienst Unterstützung für Microsoft Active Accessibility-Client Anwendungen.UI Automation providers offer some support for Microsoft Active Accessibility client applications through a built-in bridging service.

Anbieter und ClientsProviders and Clients

BenutzeroberflächenautomatisierungUI Automation verfügt über vier Hauptkomponenten, wie in der folgenden Tabelle aufgeführt.has four main components, as shown in the following table.

KomponenteComponent BeschreibungDescription
Anbieter-API (UIAutomationProvider. dll und UIAutomationTypes. dll)Provider API (UIAutomationProvider.dll and UIAutomationTypes.dll) Eine Reihe von Schnittstellendefinitionen, die von Benutzeroberflächenautomatisierungs-Anbietern implementiert werden, sowie Objekte, die Informationen über UIUI -Elemente bereitstellen und auf Programmeingaben reagieren.A set of interface definitions that are implemented by UI Automation providers, objects that provide information about UIUI elements and respond to programmatic input.
Client-API (UIAutomationClient.dll und UIAutomationTypes.dll)Client API (UIAutomationClient.dll and UIAutomationTypes.dll) Eine Reihe von Typen für verwalteten Code, der es Benutzeroberflächenautomatisierungs-Clientanwendungen ermöglicht, Informationen über UIUI abzurufen und Eingaben an Steuerelemente zu senden.A set of types for managed code that enables UI Automation client applications to obtain information about the UIUI and to send input to controls.
UiAutomationCore.dllUiAutomationCore.dll Der zugrunde liegende Code (gelegentlich als BenutzeroberflächenautomatisierungUI Automation -Code bezeichnet), der die Kommunikation zwischen Anbietern und Clients verwaltet.The underlying code (sometimes called the BenutzeroberflächenautomatisierungUI Automation core) that handles communication between providers and clients.
UIAutomationClientsideProviders.dllUIAutomationClientsideProviders.dll Ein Satz von Benutzeroberflächenautomatisierungs-Anbietern für Standard-Legacysteuerelemente.A set of UI Automation providers for standard legacy controls. (WPFWPF-Steuerelemente verfügen über systemeigene Unterstützung für BenutzeroberflächenautomatisierungUI Automation.) Diese Unterstützung steht Clientanwendungen automatisch zur Verfügung.(WPFWPF controls have native support for BenutzeroberflächenautomatisierungUI Automation.) This support is automatically available to client applications.

Aus Sicht des Softwareentwicklers gibt es zwei Möglichkeiten zum Verwenden von BenutzeroberflächenautomatisierungUI Automation: entweder kann eine Unterstützung für benutzerdefinierte Steuerelemente mithilfe der Anbieter-API erstellt werden oder Anwendungen, die den BenutzeroberflächenautomatisierungUI Automation -Kern verwenden, um mit UIUI -Elementen mithilfe der Client-API zu kommunizieren.From the software developer's perspective, there are two ways of using BenutzeroberflächenautomatisierungUI Automation: to create support for custom controls (using the provider API), and creating applications that use the BenutzeroberflächenautomatisierungUI Automation core to communicate with UIUI elements (using the client API). Abhängig von Ihren Schwerpunkten sollten Sie auf verschiedene Teile der Dokumentation zugreifen.Depending on your focus, you should refer to different parts of the documentation. In den folgenden Abschnitten können Sie mehr über die Konzepte erfahren und sich praktisches Wissen aneignen.You can learn more about the concepts and gain practical how-to knowledge in the following sections.

AbschnittSection InhaltSubject matter ZielgruppeAudience
Grundlagen der Oberflächen Automatisierung (dieser Abschnitt)UI Automation Fundamentals (this section) Allgemeine Übersichten über die Konzepte.Broad overviews of the concepts. AlleAll.
Benutzeroberflächenautomatisierungs-Anbieter für verwalteten CodeUI Automation Providers for Managed Code Übersichten und Hilfethemen zum Verwenden der Anbieter-API.Overviews and how-to topics to help you use the provider API. Entwickler von Steuerelementen.Control developers.
Benutzeroberflächenautomatisierungs-Clients für verwalteten CodeUI Automation Clients for Managed Code Übersichten und Hilfethemen zum Verwenden der Client-API.Overviews and how-to topics to help you use the client API. Entwickler von Clientanwendungen.Client application developers.
Steuerelementmuster für BenutzeroberflächenautomatisierungUI Automation Control Patterns Informationen zum Implementieren von Steuerelementmustern durch Anbieter und den Funktionalitäten, die Clients zur Verfügung stehen.Information about how control patterns should be implemented by providers, and what functionality is available to clients. AlleAll.
Textmuster zur BenutzeroberflächenautomatisierungUI Automation Text Pattern Informationen zum Implementieren des Text-Steuerelementmusters durch Anbieter und den Funktionalitäten, die Clients zur Verfügung stehen.Information about how the Text control pattern should be implemented by providers, and what functionality is available to clients. AlleAll.
UI Automation Control TypesUI Automation Control Types Informationen über die Eigenschaften und Steuerelementmuster, die von verschiedenen Steuerelementtypen unterstützt werden.Information about the properties and control patterns supported by different control types. AlleAll.

In der folgenden Tabelle werden BenutzeroberflächenautomatisierungUI Automation -Namespaces, die DLLs, die sie enthalten, und die sie verwendende Zielgruppe, aufgelistet.The following table lists BenutzeroberflächenautomatisierungUI Automation namespaces, the DLLs that contain them, and the audience that uses them.

NamespaceNamespace DLLs, auf die verwiesen wirdReferenced DLLs ZielgruppeAudience
System.Windows.Automation UIAutomationClientUIAutomationTypesUIAutomationClientUIAutomationTypes Benutzeroberflächenautomatisierungs-Cliententwickler: wird zum Suchen nach AutomationElement -Objekten, zum Registrieren von BenutzeroberflächenautomatisierungUI Automation -Ereignissen und zum Arbeiten mit BenutzeroberflächenautomatisierungUI Automation -Steuerelementmustern verwendet.UI Automation client developers; used to find AutomationElement objects, register for BenutzeroberflächenautomatisierungUI Automation events, and work with BenutzeroberflächenautomatisierungUI Automation control patterns.
System.Windows.Automation.Provider UIAutomationProviderUIAutomationTypesUIAutomationProviderUIAutomationTypes Entwickler von Benutzeroberflächenautomatisierungs-Anbietern für andere Frameworks als WPFWPF.Developers of UI Automation providers for frameworks other than WPFWPF.
System.Windows.Automation.Text UIAutomationClientUIAutomationTypesUIAutomationClientUIAutomationTypes Entwickler von Benutzeroberflächenautomatisierungs-Anbietern für Frameworks, die über WPFWPFhinausgehen. Dieser wird zum Implementieren von TextPattern-Steuerelementmustern verwendet.Developers of UI Automation providers for frameworks other than WPFWPF; used to implement the TextPattern control pattern.
System.Windows.Automation.Peers PresentationFrameworkPresentationFramework Entwickler von Benutzeroberflächenautomatisierungs-Anbietern für WPFWPF.Developers of UI Automation providers for WPFWPF.

Benutzeroberflächenautomatisierungs-ModellUI Automation Model

BenutzeroberflächenautomatisierungUI Automation macht UIUI -Elemente für Clientanwendungen vollständig als AutomationElementverfügbar.exposes every piece of the UIUI to client applications as an AutomationElement. Elemente sind in einer Baumstruktur, mit dem Desktop als Stammelement, enthalten.Elements are contained in a tree structure, with the desktop as the root element. Clients können die „Rohdatenansicht“ der Struktur als „Steuerelementansicht“ oder „Inhaltsansicht“ filtern.Clients can filter the raw view of the tree as a control view or a content view. Anwendungen können auch benutzerdefinierte Ansichten erstellen.Applications can also create custom views.

AutomationElement -Objekte machen allgemeine Eigenschaften der von ihnen dargestellten UIUI -Elemente verfügbar.AutomationElement objects expose common properties of the UIUI elements they represent. Eine dieser Eigenschaften ist der „Steuerelementtyp“, der die grundlegende Darstellung und Funktionalität als einzelne Entität definiert, z. B. als Schaltfläche oder Kontrollkästchen.One of these properties is the control type, which defines its basic appearance and functionality as a single recognizable entity: for example, a button or check box.

Darüber hinaus machen Elemente Steuerelementmuster verfügbar, die ihren Steuerelementtypen entsprechende Eigenschaften bereitstellen.In addition, elements expose control patterns that provide properties specific to their control types. Steuerelementmuster machen gleichzeitig Methoden verfügbar, die es Clients ermöglichen, weitere Informationen über das Element zu erlangen und Eingaben bereitzustellen.Control patterns also expose methods that enable clients to get further information about the element and to provide input.

Hinweis

Es gibt keine 1:1-Entsprechung zwischen Steuerelementtypen und Steuerelementmustern.There is not a one-to-one correspondence between control types and control patterns. Ein Steuerelementmuster kann von mehreren Steuerelementtypen unterstützt werden, und ein Steuerelement kann mehrere Steuerelementmuster unterstützen, von denen jedes einen anderen Aspekt des Verhaltens verfügbar macht.A control pattern may be supported by multiple control types, and a control may support multiple control patterns, each of which exposes different aspects of its behavior. Ein Kombinationsfeld hat beispielsweise mindestens zwei Steuerelementmuster: eines mit der Fähigkeit zum Erweitern und Reduzieren und ein anderes, das den Auswahlmechanismus darstellt.For example, a combo box has at least two control patterns: one that represents its ability to expand and collapse, and another that represents the selection mechanism. Weitere Informationen finden Sie unter UI Automation Control Types.For specifics, see UI Automation Control Types.

BenutzeroberflächenautomatisierungUI Automation gibt durch Ereignisse Informationen an Clientanwendungen weiter.also provides information to client applications through events. Im Gegensatz zu WinEventsWinEventsbasieren BenutzeroberflächenautomatisierungUI Automation -Ereignisse nicht auf einem Übertragungsmechanismus.Unlike WinEventsWinEvents, BenutzeroberflächenautomatisierungUI Automation events are not based on a broadcast mechanism. BenutzeroberflächenautomatisierungUI Automation -Clients melden sich für bestimmte Ereignisbenachrichtigungen an und können anfordern, dass spezifische BenutzeroberflächenautomatisierungUI Automation -Eigenschaften und Steuerelementmuster-Informationen an den Ereignishandler übergeben werden.clients register for specific event notifications and can request that specific BenutzeroberflächenautomatisierungUI Automation properties and control pattern information be passed into their event handlers. Außerdem enthält ein BenutzeroberflächenautomatisierungUI Automation -Ereignis einen Verweis auf das Element, das es ausgelöst hat.In addition, a BenutzeroberflächenautomatisierungUI Automation event contains a reference to the element that raised it. Anbieter können die Leistung verbessern, indem sie Ereignisse selektiv abhängig davon auslösen, ob Clients zuhören.Providers can improve performance by raising events selectively, depending on whether any clients are listening.

Siehe auchSee also