Ü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. |
Informationen zum Implementieren von Steuerelementmustern durch Anbieter und den Funktionalitäten, die Clients zur Verfügung stehen. |
Alle |
|
Informationen zum Implementieren des Text-Steuerelementmusters durch Anbieter und den Funktionalitäten, die Clients zur Verfügung stehen. |
Alle |
|
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 |
---|---|---|
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. |
|
UIAutomationProviderUIAutomationTypes |
Entwickler von Benutzeroberflächenautomatisierungs-Anbietern für andere Frameworks als WPF. |
|
UIAutomationClientUIAutomationTypes |
Entwickler von Benutzeroberflächenautomatisierungs-Anbietern für Frameworks, die über WPF hinausgehen; wird zum Implementieren von TextPattern-Steuerelementmustern verwendet. |
|
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