Übersicht über die Benutzeroberflächenautomatisierung

HinweisHinweis

Diese Dokumentation ist für .NET Framework-Entwickler vorgesehen, die die verwalteten UI Automation-Klassen verwenden möchten, die im System.Windows.Automation-Namespace definiert sind.Aktuelle Informationen zu UI Automation finden Sie unter Windows Automation API: UI Automation.

Microsoft UI Automation ist das neue Barrierefreiheit-Framework für Microsoft Windows. Es ist für alle Betriebssysteme verfügbar, die Windows Presentation Foundation (WPF) unterstützen.

Die UI Automation stellt programmgesteuerten Zugriff auf die meisten user interface (UI) auf dem Desktop zur Verfügung, sodass Hilfstechnologieprodukte, z. B. die Bildschirmsprachausgabe, Informationen über die UI für die Endbenutzer bereitstellen und die UI mit anderen Verfahren als Standardeingaben ändern können. UI Automation ermöglicht außerdem die Interaktion von automatisierten Testskripts mit der UI.

HinweisHinweis

UI Automation ermöglicht keine Kommunikation zwischen Prozessen, die von anderen Benutzern durch den Befehl Ausführen als gestartet werden.

Benutzeroberflächenautomatisierungs-Client-Anwendungen können mit der Gewissheit geschrieben werden, dass sie mit verschiedenen Frameworks funktionieren. Der UI Automation-Kern maskiert alle Unterschiede in den Frameworks, die den verschiedenen Komponenten von UI zugrunde liegen. Beispielsweise sind die Content-Eigenschaft einer WPF-Schaltfläche, die Caption-Eigenschaft einer Win32-Schaltfläche und die ALT-Eigenschaft eines HTML-Bildes alle nur einer einzelnen Eigenschaft, Name, in der UI Automation-Ansicht zugewiesen.

UI Automation bietet volle Funktionalität in Windows Vista, Microsoft Windows XP und Windows Server 2003.

Benutzeroberflächenautomatisierungs-Anbieter bieten durch einen integrierten Überbrückungsdienst Unterstützung für Microsoft Active Accessibility-Clientanwendungen.

Dieses Thema enthält folgende Abschnitte.

  • Anbieter und Clients
  • Benutzeroberflächenautomatisierungs-Modell
  • Verwandte Abschnitte

Anbieter und Clients

UI Automation verfügt über vier Hauptkomponenten, wie in der folgenden Tabelle aufgeführt.

Komponente

Beschreibung

Anbieter-API (UIAutomationProvider.dll und UIAutomationTypes.dll)

Eine Reihe von Schnittstellendefinitionen, die von Benutzeroberflächenautomatisierungs-Anbietern implementiert werden, sowie Objekte, die Informationen über UI-Elemente bereitstellen und auf Programmeingaben reagieren.

Client-API (UIAutomationClient.dll und UIAutomationTypes.dll)

Eine Reihe von Typen für verwalteten Code, der es Benutzeroberflächenautomatisierungs-Client-Anwendungen ermöglicht, Informationen über UI abzurufen und Eingaben an Steuerelemente zu senden.

UiAutomationCore.dll

Der zugrunde liegende Code (gelegentlich als UI Automation-Code bezeichnet), der die Kommunikation zwischen Anbietern und Clients verwaltet.

UIAutomationClientsideProviders.dll

Ein Satz von Benutzeroberflächenautomatisierungs-Anbietern für Standard-Legacysteuerelemente. (WPF-Steuerelemente verfügen über systemeigene Unterstützung für UI Automation.) Diese Unterstützung steht Clientanwendungen automatisch zur Verfügung.

Aus Sicht des Softwareentwicklers gibt es zwei Möglichkeiten zum Verwenden von UI Automation: entweder kann eine Unterstützung für benutzerdefinierte Steuerelemente mithilfe der Anbieter-API erstellt werden oder Anwendungen, die den UI Automation-Kern verwenden, um mit UI-Elementen mithilfe der Client-API zu kommunizieren. Abhängig von Ihren Schwerpunkten sollten Sie auf verschiedene Teile der Dokumentation zugreifen. In den folgenden Abschnitten können Sie mehr über die Konzepte erfahren und sich praktisches Wissen aneignen.

Abschnitt

Inhalt

Zielgruppe

Grundlagen der Benutzeroberflächenautomatisierung (dieser Abschnitt)

Allgemeine Übersichten über die Konzepte.

Alle

Benutzeroberflächenautomatisierungs-Anbieter für verwalteten Code

Übersichten und Hilfethemen zum Verwenden der Anbieter-API.

Entwickler von Steuerelementen.

Benutzeroberflächenautomatisierungs-Clients für verwalteten Code

Übersichten und Hilfethemen zum Verwenden der Client-API.

Entwickler von Clientanwendungen.

Steuerelementmuster für Benutzeroberflächenautomatisierung

Informationen zum Implementieren von Steuerelementmustern durch Anbieter und den Funktionalitäten, die Clients zur Verfügung stehen.

Alle

Textmuster zur Benutzeroberflächenautomatisierung

Informationen zum Implementieren des Text-Steuerelementmusters durch Anbieter und den Funktionalitäten, die Clients zur Verfügung stehen.

Alle

Steuerelementtypen der Benutzeroberflächenautomatisierung

Informationen über die Eigenschaften und Steuerelementmuster, die von verschiedenen Steuerelementtypen unterstützt werden.

Alle

In der folgenden Tabelle werden UI Automation-Namespaces, die DLLs, die sie enthalten, und die sie verwendende Zielgruppe, aufgelistet.

Namespace

DLLs, auf die verwiesen wird

Zielgruppe

System.Windows.Automation

UIAutomationClientUIAutomationTypes

Benutzeroberflächenautomatisierungs-Client-Entwickler; wird zum Suchen nach AutomationElement-Objekten, zum Registrieren von UI Automation-Ereignissen und zum Arbeiten mit UI Automation-Steuerelementmustern verwendet.

System.Windows.Automation.Provider

UIAutomationProviderUIAutomationTypes

Entwickler von Benutzeroberflächenautomatisierungs-Anbietern für andere Frameworks als WPF.

System.Windows.Automation.Text

UIAutomationClientUIAutomationTypes

Entwickler von Benutzeroberflächenautomatisierungs-Anbietern für Frameworks, die über WPF hinausgehen; wird zum Implementieren von TextPattern-Steuerelementmustern verwendet.

System.Windows.Automation.Peers

PresentationFramework

Entwickler von Benutzeroberflächenautomatisierungs-Anbietern für WPF.

Benutzeroberflächenautomatisierungs-Modell

UI Automation macht UI-Elemente für Clientanwendungen vollständig als AutomationElement verfügbar. Elemente sind in einer Baumstruktur, mit dem Desktop als Stammelement, enthalten. Clients können die Rohdatenansicht der Struktur als Steuerelementansicht oder Inhaltsansicht filtern. (Diese Standardansichten der Struktur können in der UI Spy-Anwendung, die in diesem software development kit (SDK) enthalten ist, mühelos angezeigt werden.) Anwendungen können auch benutzerdefinierte Ansichten erstellen.

AutomationElement-Objekte machen allgemeine Eigenschaften der von ihnen dargestellten UI-Elemente verfügbar. 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.

Darüber hinaus machen Elemente Steuerelementmuster verfügbar, die ihren Steuerelementtypen entsprechende Eigenschaften bereitstellen. Steuerelementmuster machen gleichzeitig Methoden verfügbar, die es Clients ermöglichen, weitere Informationen über das Element zu erlangen und Eingaben bereitzustellen.

HinweisHinweis

Es gibt keine 1:1-Entsprechung zwischen Steuerelementtypen und Steuerelementmustern.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.Ein Kombinationsfeld hat beispielsweise mindestens zwei Steuerelementmuster: eines mit der Fähigkeit zum Erweitern und Reduzieren und ein anderes, das den Auswahlmechanismus darstellt.Weitere Informationen finden Sie unter Steuerelementtypen der Benutzeroberflächenautomatisierung.

UI Automation gibt durch Ereignisse Informationen an Clientanwendungen weiter. Im Gegensatz zu WinEvents basieren UI Automation-Ereignisse nicht auf einem Übertragungsmechanismus. UI Automation-Clients melden sich für bestimmte Ereignisbenachrichtigungen an und können anfordern, dass spezifische UI Automation-Eigenschaften und Steuerelementmuster-Informationen an den Ereignishandler übergeben werden. Ein UI Automationsereignis enthält zudem einen Verweis auf das Element, von dem es ausgelöst wurde. Anbieter können die Leistung verbessern, indem sie Ereignisse abhängig davon, ob Clients lauschen, selektiv auslösen.

Siehe auch

Konzepte

Übersicht über die Benutzeroberflächenautomatisierungs-Struktur

Übersicht über Steuerelementmuster für Benutzeroberflächenautomatisierung

Übersicht über die Benutzeroberflächenautomatisierungs-Eigenschaften

Übersicht über Benutzeroberflächenautomatisierungs-Ereignisse

Übersicht über die Benutzeroberflächenautomatisierungs-Sicherheit