Freigeben über


Übersicht über die Benutzeroberflächenautomatisierung

Aktualisiert: November 2007

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

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

Hinweis:

UI-Automatisierung 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-Automatisierung-Kern maskiert alle Unterschiede in den Frameworks, die den verschiedenen Komponenten von Benutzeroberfläche 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-Automatisierung-Ansicht zugewiesen.

UI-Automatisierung 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-Automatisierung 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 Benutzeroberfläche-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 Benutzeroberfläche abzurufen und Eingaben an Steuerelemente zu senden.

UiAutomationCore.dll

Der zugrunde liegende Code (gelegentlich als UI-Automatisierung-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-Automatisierung.) Diese Unterstützung steht Clientanwendungen automatisch zur Verfügung.

Aus Sicht des Softwareentwicklers gibt es zwei Möglichkeiten zum Verwenden von UI-Automatisierung: entweder kann eine Unterstützung für benutzerdefinierte Steuerelemente mithilfe der Anbieter-API erstellt werden oder Anwendungen, die den UI-Automatisierung-Kern verwenden, um mit Benutzeroberfläche-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-Automatisierung-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-Automatisierung-Ereignissen und zum Arbeiten mit UI-Automatisierung-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-Automatisierung macht Benutzeroberfläche-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 Software Development Kit (SDK) enthalten ist, problemlos angezeigt werden.) Anwendungen können ebenfalls benutzerdefinierte Ansichten erstellen.

AutomationElement-Objekte machen allgemeine Eigenschaften der von ihnen dargestellten Benutzeroberfläche-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.

Hinweis:

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-Automatisierung gibt durch Ereignisse Informationen an Clientanwendungen weiter. Im Gegensatz zu WinEvents basieren UI-Automatisierung-Ereignisse nicht auf einem Übertragungsmechanismus. UI-Automatisierung-Clients melden sich für bestimmte Ereignisbenachrichtigungen an und können anfordern, dass spezifische UI-Automatisierung-Eigenschaften und Steuerelementmuster-Informationen an den Ereignishandler übergeben werden. Ein UI-Automatisierung-Ereignis enthält zusätzlich eine Referenz zu dem Element, das es ausgelöst hat. Anbieter können die Leistung durch das gezielte Auslösen von Ereignissen verbessern, je nach vorhandenen überwachenden Clients.

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