Freigeben über


Übersicht über die Benutzeroberflächenautomatisierungs-Anbieter

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.

Benutzeroberflächenautomatisierungs-Anbieter aktivieren Steuerelemente, um die Kommunikation mit Benutzeroberflächenautomatisierungs-Client-Anwendungen zu ermöglichen. Im Allgemeinen werden alle Steuerelemente und andere eindeutige Elemente in einer user interface (UI) durch einen Anbieter repräsentiert. Vom Anbieter werden Informationen über das Element zur Verfügung gestellt und optional Steuerelementmuster implementiert, die eine Interaktion der Clientanwendung mit dem Steuerelement ermöglichen.

Clientanwendungen müssen normalerweise nicht direkt mit Anbietern arbeiten. Die meisten der Standardsteuerelemente in Anwendungen, die Win32-, Windows Forms- oder Windows Presentation Foundation (WPF)-Frameworks verwenden, stehen dem UI Automation-System automatisch zur Verfügung. Von den Anwendungen, die benutzerdefinierte Steuerelemente implementieren, werden möglicherweise auch UI Automation-Anbieter für diese Steuerelemente implementiert, und Clientanwendungen müssen keine besonderen Maßnahmen durchführen, um auf sie zugreifen zu können.

In diesem Thema finden Sie eine Übersicht für Entwickler von Steuerelementen über das Implementieren von UI Automation-Anbietern, insbesondere in Bezug auf Steuerelemente in Windows Forms- und Win32-Fenstern.

Dieses Thema enthält folgende Abschnitte.

  • Typen von Anbietern
  • Konzepte im Zusammenhang mit Benutzeroberflächenautomatisierungs-Anbietern
  • Verwandte Abschnitte

Typen von Anbietern

Benutzeroberflächenautomatisierungs-Anbieter können in zwei Kategorien eingeteilt werden: clientseitige und serverseitige Anbieter.

Clientseitige Anbieter

Clientseitige Anbieter werden von Benutzeroberflächenautomatisierungs-Clients zur Kommunikation mit einer Anwendung implementiert, von der UI Automation nicht bzw. nicht vollständig unterstützt wird. Clientseitige Anbieter kommunizieren normalerweise mit dem Server über die Prozessgrenze, indem sie Windows-Meldungen senden und empfangen.

Da Benutzeroberflächenautomatisierungs-Anbieter für Steuerelemente in Win32-, Windows Forms- oder WPF-Anwendungen als Teil des Betriebssystems zur Verfügung gestellt werden, müssen von Clientanwendungen nur selten eigene Anbieter implementiert werden. Sie werden in dieser Übersicht daher nicht weiter erläutert.

Serverseitige Anbieter

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

Serverseitige Anbieter kommunizieren mit Clientanwendungen über die Prozessgrenze, indem sie dem UI Automation-Kernsystem, von dem Anforderungen von Clients bearbeitet werden, Schnittstellen zur Verfügung stellen.

Konzepte im Zusammenhang mit Benutzeroberflächenautomatisierungs-Anbietern

In diesem Abschnitt finden Sie Erläuterungen zu einigen der wichtigsten Konzepte, die Sie zum Implementieren von Benutzeroberflächenautomatisierungs-Anbietern kennen müssen.

Elements

UI Automation-Elemente sind Bestandteile der user interface (UI), die von Benutzeroberflächenautomatisierungs-Clients angezeigt werden. Dies sind beispielsweise Anwendungsfenster, Bereiche, Schaltflächen, QuickInfos, Listenfelder und Listenelemente.

UI Automation-Elemente werden den Clients in einer UI Automation-Struktur zur Verfügung gestellt. Die Struktur wird von UI Automation durch Navigation von Element zu Element erstellt. Die Navigation wird von den Anbietern für jedes Element aktiviert, jedes kann jeweils auf ein verwandtes über- oder untergeordnetes Element verweisen.

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

Ansichten

Vom Client kann die UI Automation-Struktur in drei Hauptansichten angezeigt werden, wie in der folgenden Tabelle dargestellt.

Rohdatenansicht

Enthält alle Elemente.

Steuerelementansicht

Enthält nur die Steuerelemente.

Inhaltsansicht

Enthält Elemente, die über Inhalte verfügen.

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

Durch die Anbieterimplementierung muss ein Element als Inhaltselement oder Steuerelement definiert werden. Steuerelemente können Inhaltselemente sein oder nicht, alle Inhaltselemente sind jedoch auch Steuerelemente.

Framework

Ein Framework ist eine Komponente, von der untergeordnete Steuerelemente, Trefferüberprüfungen und Rendering in einem Bildschirmbereich verwaltet werden. Ein Win32-Fenster beispielsweise, häufig als HWND bezeichnet, kann als ein Framework verwendet werden, das mehrere UI Automation-Elemente enthält, wie z. B. eine Menüleiste, eine Statusleiste und Schaltflächen.

Win32-Containersteuerelemente wie z. B. Listenfelder und Strukturansichten gelten als Frameworks, da sie eigenen Code enthalten, um untergeordnete Elemente zu rendern und auf diesen Trefferüberprüfungen auszuführen. Im Gegensatz dazu handelt es sich bei einem WPF-Listenfeld nicht um ein Framework, da Rendering und Trefferüberprüfung von dem WPF-Fenster ausgeführt wird, in dem es enthalten ist.

Die UI einer Anwendung kann aus verschiedenen Frameworks bestehen. Ein HWND-Anwendungsfenster kann beispielsweise Dynamic HTML (DHTML) enthalten, die ihrerseits eine Komponente wie z. B. ein Kombinationsfeld in einem HWND enthält.

Fragmente

Ein Fragment ist eine vollständige Teilstruktur der Elemente eines bestimmten Frameworks. Das Element im Stammknoten der Teilstruktur wird als Fragmentstamm bezeichnet. Ein Fragmentstamm hat kein übergeordnetes Element, wird jedoch innerhalb eines anderen Frameworks gehostet, normalerweise einem Win32-Fenster (HWND).

Host

Der Stammknoten jedes Fragments muss jeweils in einem Element gehostet werden, normalerweise einem Win32-Fenster (HWND). Eine Ausnahme ist der Desktop, 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 ist wichtig bei der Bereitstellung von UI Automation-Diensten. Er ermöglicht die Navigation zum Fragmentstamm und stellt einige Standardeigenschaften bereit, sodass diese vom benutzerdefinierten Anbieter nicht implementiert werden müssen.

Siehe auch

Konzepte

Implementierung eines serverseitigen Benutzeroberflächenautomatisierungs-Anbieters