Übersicht über die Benutzeroberflächenautomatisierungs-Anbieter

Hinweis

Diese Dokumentation ist für .NET Framework-Entwickler konzipiert, die die verwalteten Klassen zur Automatisierung der Benutzeroberfläche verwenden möchten, die im Namespace System.Windows.Automation definiert sind. Aktuelle Informationen zur Automatisierung der Benutzeroberfläche finden Sie auf der Seite zur Windows-Automatisierungs-API: Benutzeroberflächenautomatisierung.

Benutzeroberflächenautomatisierungs-Anbieter ermöglichen Steuerelementen die Kommunikation mit Clientanwendungen für die Automatisierung der Benutzeroberfläche. Im Allgemeinen werden die einzelnen Steuerelemente oder andere eindeutige Elemente auf einer Benutzeroberfläche durch einen Anbieter dargestellt. Der Anbieter macht Informationen zum Element verfügbar und implementiert optional Steuerelementmuster, die es der Clientanwendung ermöglichen, mit dem Steuerelement zu interagieren.

Clientanwendungen müssen normalerweise nicht direkt mit Anbietern arbeiten. Die meisten Standardsteuerelemente in Anwendungen, die die WPF-Frameworks (Win32, Windows Forms oder Windows Presentation Foundation) verwenden, werden automatisch für das Benutzeroberflächenautomatisierungs-System verfügbar gemacht. Anwendungen, die benutzerdefinierte Steuerelemente implementieren, können auch Benutzeroberflächenautomatisierungs-Anbieter für diese Steuerelemente implementieren. Die Clientanwendungen müssen keine besonderen Schritte ausführen, um Zugriff auf diese zu erlangen.

Dieses Thema bietet einen Überblick darüber, wie Steuerelemententwickler Benutzeroberflächenautomatisierungs-Anbieter implementieren, insbesondere für Steuerelemente in Windows Forms- und Win32-Fenstern.

Anbietertypen

Benutzeroberflächenautomatisierungs-Anbieter werden in zwei Kategorien unterteilt: clientseitige und serverseitige Anbieter.

Clientseitige Anbieter

Clientseitige Anbieter werden von Benutzeroberflächenautomatisierungs-Clients für die Kommunikation mit einer Anwendung implementiert, die Benutzeroberflächenautomatisierung nicht oder nicht vollständig unterstützt. Clientseitige Anbieter kommunizieren mit dem Server in der Regel durch Senden und Empfangen von Windows-Nachrichten über Prozessgrenzen hinweg.

Da Benutzeroberflächenautomatisierungs-Anbieter für Steuerelemente in Win32, Windows Forms- oder WPF-Anwendungen im Rahmen des Betriebssystems bereitgestellt werden und Clientanwendungen selten eigene Anbieter implementieren müssen, werden sie in dieser Übersicht nicht weiter behandelt.

Serverseitiger Anbieter

Serverseitige Anbieter werden von benutzerdefinierten Steuerelementen oder durch Anwendungen implementiert, die auf einem anderen Benutzeroberflächenframework als Win32, Windows Forms oder WPF basieren.

Serverseitige Anbieter kommunizieren mit Clientanwendungen über Prozessgrenzen hinweg, indem sie Schnittstellen für das Kernsystem für Benutzeroberflächenautomatisierung verfügbar machen, das wiederum Anforderungen von Clients bereitstellt.

Konzepte für Benutzeroberflächenautomatisierungs-Anbieter

Dieser Abschnitt bietet kurze Erläuterungen zu einer Auswahl von Schlüsselkonzepten, die Sie kennen müssen, um Benutzeroberflächenautomatisierungs-Anbieter implementieren zu können.

Elemente

Elemente für Benutzeroberflächenautomatisierung sind Bestandteile der Benutzeroberfläche, die für Benutzeroberflächenautomatisierungs-Clients sichtbar sind. Zu den entsprechenden Beispielen zählen Anwendungsfenster, Bereiche, Schaltflächen, QuickInfos, Listenfelder und Listenelemente.

Elemente für Benutzeroberflächenautomatisierung werden Clients als Struktur für Benutzeroberflächenautomatisierung verfügbar gemacht. Das Feature „Benutzeroberflächenautomatisierung“ erstellt die Struktur durch Navigieren von einem Element zu einem anderen. Die Navigation wird von den Anbietern für jedes Element aktiviert, von denen jedes möglicherweise auf ein übergeordnetes, gleichgeordnetes oder untergeordnetes Element verweist.

Weitere Informationen zur Clientansicht der Struktur der Benutzeroberflächenautomatisierung finden Sie unter Übersicht über die Benutzeroberflächenautomatisierungs-Struktur.

Ansichten

Ein Client kann die Benutzeroberflächenautomatisierungs-Struktur in drei Hauptansichten einsehen, wie in der folgenden Tabelle dargestellt.

Sicht BESCHREIBUNG
Rohdatenansicht Enthält alle Elemente.
Steuerelementansicht Enthält Elemente, die Steuerelemente sind.
Inhaltsansicht Enthält Elemente mit Inhalten.

Weitere Informationen zu Clientansichten der Struktur der Benutzeroberflächenautomatisierung finden Sie unter Übersicht über die Benutzeroberflächenautomatisierungs-Struktur.

Für die Definition eines Elements als Inhaltselement oder Steuerelement ist die Anbieterimplementierung zuständig. Steuerelemente können auch Inhaltselemente sein, aber alle Inhaltselemente sind auch Steuerelemente.

Frameworks

Ein Framework ist eine Komponente, die untergeordneten Steuerelemente, Treffertests und das Rendering in einem Bereich des Bildschirms verwaltet. Ein Win32-Fenster, das häufig als HWND bezeichnet wird, kann als Framework dienen, das mehrere Benutzeroberflächenautomatisierungs-Elemente enthält, z. B. eine Menüleiste, Statusleiste und Schaltflächen.

Win32-Containersteuerelemente, z. B. Listenfelder und Strukturansichten, werden als Frameworks betrachtet, da sie ihren eigenen Code zum Rendern der untergeordneten Elemente und zum Ausführen der zugehörigen Treffertests enthalten. Im Gegensatz dazu ist ein WPF-Listenfeld kein Framework, da Rendering und Treffertests vom enthaltenen WPF-Fenster übernommen werden.

Die Benutzeroberfläche in einer Anwendung kann aus verschiedenen Frameworks bestehen. Beispielsweise kann ein HWND-Anwendungsfenster Dynamic HTML (DHTML) enthalten, das wiederum eine Komponente enthält, z. B. ein Kombinationsfeld in einem HWND.

Fragments

Ein Fragment ist eine vollständige Unterstruktur von Elementen eines bestimmten Frameworks. Das Element im Stammknoten der Unterstruktur wird als Fragmentstamm bezeichnet. Ein Fragmentstamm besitzt kein übergeordnetes Element, wird aber innerhalb eines anderen Frameworks gehostet, in der Regel in einem Win32-Fenster (HWND).

Hosts

Der Stammknoten jedes Fragments muss in einem Element gehostet werden, in der Regel in einem Win32-Fenster (HWND). Die Ausnahme stellt der Desktop dar, der in keinem anderen Element gehostet wird. Der Host eines benutzerdefinierten Steuerelements ist das HWND des Steuerelements selbst, nicht das Anwendungsfenster oder ein anderes Fenster, das möglicherweise Gruppen von Steuerelementen der obersten Ebene enthält.

Der Host eines Fragments spielt bei der Bereitstellung von Diensten zur Benutzeroberflächenautomatisierung eine wichtige Rolle. Er ermöglicht die Navigation zum Fragmentstamm und stellt einige Standardeigenschaften bereit, damit diese nicht vom benutzerdefinierten Anbieter implementiert werden müssen.

Siehe auch