Freigeben über


Übersicht über Benutzeroberflächenautomatisierungs-Anbieter

Hinweis

Diese Dokumentation richtet sich an .NET Framework-Entwickler, die die verwalteten Benutzeroberflächenautomatisierungs-Klassen verwenden möchten, die im System.Windows.Automation-Namespace definiert sind. Die neuesten Informationen zur Benutzeroberflächenautomatisierung finden Sie unter Windows Automation API: Benutzeroberflächenautomatisierung.

Benutzeroberflächenautomatisierungs-Anbieter ermöglichen die Kommunikation mit Benutzeroberflächenautomatisierungs-Clientanwendungen. Im Allgemeinen wird jedes Steuerelement oder ein anderes unterschiedliches Element in einer Benutzeroberfläche durch einen Anbieter dargestellt. Der Anbieter macht Informationen zum Element verfügbar und implementiert optional Steuerelementmuster, mit denen die Clientanwendung mit dem Steuerelement interagieren kann.

Clientanwendungen müssen in der Regel nicht direkt mit Anbietern arbeiten. Die meisten Standardsteuerelemente in Anwendungen, die win32-, Windows Forms- oder Windows Presentation Foundation (WPF)-Frameworks verwenden, werden automatisch für das Benutzeroberflächenautomatisierungssystem verfügbar gemacht. Anwendungen, die benutzerdefinierte Steuerelemente implementieren, können auch Benutzeroberflächenautomatisierungs-Anbieter für diese Steuerelemente implementieren, und Clientanwendungen müssen keine speziellen Schritte ausführen, um Zugriff darauf zu erhalten.

Dieses Thema enthält eine Übersicht darüber, wie Steuerelemententwickler Benutzeroberflächenautomatisierungs-Anbieter implementieren, insbesondere für Steuerelemente in Windows Forms und Win32-Fenstern.

Anbietertypen

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

Clientseitige Anbieter

Clientseitige Anbieter werden von Benutzeroberflächenautomatisierungs-Clients implementiert, um mit einer Anwendung zu kommunizieren, die die Benutzeroberflächenautomatisierung nicht unterstützt oder nicht vollständig unterstützt. Clientseitige Anbieter kommunizieren in der Regel über die Prozessgrenze hinweg mit dem Server, indem Windows-Nachrichten gesendet und empfangen werden.

Da Benutzeroberflächenautomatisierungs-Anbieter für Steuerelemente in Win32-, Windows Forms- oder WPF-Anwendungen als Teil des Betriebssystems bereitgestellt werden, müssen Clientanwendungen selten ihre eigenen Anbieter implementieren, und diese Übersicht behandelt sie nicht weiter.

Serverseitige Anbieter

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

Serverseitige Anbieter kommunizieren mit Clientanwendungen über die Prozessgrenze hinweg, indem Schnittstellen für das Benutzeroberflächenautomatisierungs-Kernsystem verfügbar sind, das wiederum Anforderungen von Clients bereitstellt.

Konzepte des Benutzeroberflächenautomatisierungs-Anbieters

Dieser Abschnitt enthält kurze Erläuterungen zu einigen der wichtigsten Konzepte, die Sie verstehen müssen, um Benutzeroberflächenautomatisierungs-Anbieter zu implementieren.

Elemente

Benutzeroberflächenautomatisierungs-Elemente sind Elemente der Benutzeroberfläche (UI), die für Benutzeroberflächenautomatisierungs-Clients sichtbar sind. Beispiele sind Anwendungsfenster, Bereiche, Schaltflächen, QuickInfos, Listenfelder und Listenelemente.

Benutzeroberflächenautomatisierungs-Elemente werden Clients als Benutzeroberflächenautomatisierungs-Struktur verfügbar gemacht. Die Benutzeroberflächenautomatisierung erstellt die Struktur, indem sie von einem Element zu einem anderen navigiert. Die Navigation wird von den Anbietern für jedes Element aktiviert, von denen jedes auf ein übergeordnetes Element, gleichgeordnete Elemente und untergeordnete Elemente verweist.

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

Ansichten

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

Ansehen BESCHREIBUNG
Unformatierte Ansicht Enthält alle Elemente.
Steuerelementansicht Enthält Elemente, die Steuerelemente sind.
Inhaltsansicht Enthält Elemente mit Inhalt.

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

Es liegt in der Verantwortung der Anbieterimplementierung, ein Element als Inhaltselement oder als Steuerelementelement zu definieren. Steuerelementelemente können oder nicht auch Inhaltselemente sein, aber alle Inhaltselemente sind Steuerelementelemente.

Rahmenwerke

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

Win32-Containersteuerelemente wie Listenfelder und Strukturansichten gelten als Frameworks, da sie ihren eigenen Code zum Rendern untergeordneter Elemente und zum Ausführen von Treffertests enthalten. Im Gegensatz dazu ist ein WPF-Listenfeld kein Framework, da das Rendern und Treffertests vom enthaltenden WPF-Fenster behandelt werden.

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

Bruchstücke

Ein Fragment ist eine vollständige Unterstruktur von Elementen aus einem bestimmten Framework. Das Element am Stammknoten der Unterstruktur wird als Fragmentstamm bezeichnet. Ein Fragmentstamm verfügt nicht über ein übergeordnetes Element, sondern wird in einem anderen Framework gehostet, in der Regel ein Win32-Fenster (HWND).

Gastgeber

Der Stammknoten jedes Fragments muss in einem Element gehostet werden, in der Regel ein Win32-Fenster (HWND). Die Ausnahme ist der Desktop, der nicht in einem anderen Element gehostet wird. Der Host eines benutzerdefinierten Steuerelements ist der HWND des Steuerelements selbst, nicht das Anwendungsfenster oder ein anderes Fenster, das Gruppen von Steuerelementen auf oberster Ebene enthalten kann.

Der Host eines Fragments spielt eine wichtige Rolle bei der Bereitstellung von Benutzeroberflächenautomatisierungsdiensten. Sie ermöglicht die Navigation zum Fragmentstamm und stellt einige Standardeigenschaften bereit, damit der benutzerdefinierte Anbieter sie nicht implementieren muss.

Siehe auch