Beispiel für TrackFocus
Aktualisiert: November 2007
In diesem Beispiel wird der Eingabefokus auf dem Desktop verfolgt und Informationen über Fokusänderungen mithilfe von Microsoft-UI-Automatisierung angezeigt. Dies ist eine einfache Konsolenanwendung, die als Ausgangspunkt für eine die Benutzeroberflächenautomatisierung zur Überwachung von Ereignissen auf dem Desktop verwendende Anwendung dienen kann.
Vom Programm wird angezeigt, wenn sich der Eingabefokus ändert. Wenn sich der Fokus in ein anderes Anwendungsfenster verschiebt, wird die Beschriftung des Fensters angezeigt. Wenn sich der Fokus innerhalb eines Anwendungsfensters verschiebt, wird Typ und Name des gelesenen Steuerelements angezeigt.
Zum Feststellen einer Fokusverschiebung zu einer anderen Anwendung enthält das Programm eine Liste der Laufzeitbezeichner aller offenen Fenster auf der höchsten Ebene. Als Reaktion auf jedes durch einen geänderten Fokus ausgelöste Ereignis wird ein TreeWalker verwendet, um nach dem übergeordneten Fenster zu suchen. Dieses Fenster wird dann mit dem letzten Fenster verglichen, das den Fokus hatte.
Vom Programm werden drei Ereignistypen abonniert:
Struktur geändert. Das einzige interessante Ereignis ist das Hinzufügen eines neuen Fensters auf der obersten Ebene.
Fokus geändert. Alle Ereignisse werden aufgezeichnet.
Fenster geschlossen. Wird ein Fenster auf der obersten Ebene geschlossen, wird seine Laufzeit-ID aus der Liste entfernt.
Der Einfachheit halber wird keine Zwischenspeicherung durchgeführt. Von einer vollständigen Anwendung würden normalerweise alle unmittelbar untergeordneten Anwendungsfenster zwischengespeichert werden, sobald dieses Fenster den Fokus erhält.
In diesem Beispiel soll nur ein bestimmtes Feature des Windows Presentation Foundation (WPF) veranschaulicht werden, daher werden die für die Anwendungsentwicklung bewährten Methoden nicht befolgt. Ausführliche Informationen über bewährte Methoden bei der Anwendungsentwicklung für Windows Presentation Foundation (WPF) und Microsoft .NET Framework finden Sie unter folgenden Themen:
Eingabehilfen – Bewährte Methoden für Eingabehilfen
Sicherheit – Windows Presentation Foundation-Sicherheit
Lokalisierung – Übersicht über WPF-Globalisierung und -Lokalisierung
Erstellen des Beispiels
Installieren Sie das Windows Software Development Kit (SDK) und öffnen Sie dessen Buildumgebungs-Befehlsfenster. Zeigen Sie im Startmenü auf Alle Programme und Microsoft Windows SDK, und klicken Sie dann auf CMD Shell.
Laden Sie das Beispiel, normalerweise aus der Software Development Kit (SDK)-Dokumentation, auf Ihre Festplatte herunter.
Um das Beispiel über das Buildumgebungs-Befehlsfenster zu erstellen, wechseln Sie zum Quellverzeichnis des Beispiels. Geben Sie an der Eingabeaufforderung MSBUILD ein.
Um das Beispiel mit in Microsoft Visual Studio zu erstellen, laden Sie die Projektmappe oder Projektdatei des Beispiels, und drücken Sie STRG+UMSCHALT+B.
Ausführen des Beispiels
Um das kompilierte Beispiel über das Buildumgebungs-Befehlsfenster auszuführen, führen Sie die EXE-Datei aus dem Ordner Bin\Debug oder Bin\Release, die unter dem Quellcodeordner des Beispiels enthalten sind, aus.
Um das kompilierte Beispiel in Visual Studio mit Debuggen auszuführen, drücken Sie F5.