Erstellen des CUIAutomation-Objekts

In diesem Abschnitt wird beschrieben, wie Sie mit dem Schreiben einer Microsoft Benutzeroberflächenautomatisierung-Clientanwendung beginnen, indem Sie ein Objekt instanziieren, das IUIAutomation implementiert.

Dieses Thema enthält folgende Abschnitte:

Das CUIAutomation-Objekt

Der erste Schritt bei der Verwendung von Benutzeroberflächenautomatisierung besteht darin, ein Objekt der CUIAutomation-Klasse zu erstellen. Dieses Objekt macht die IUIAutomation-Schnittstelle verfügbar, die das Gateway für alle anderen Objekte und Schnittstellen darstellt, die von Clientanwendungen verwendet werden. IUIAutomation wird unter anderem für folgende Aufgaben verwendet:

  • Abonnieren von Ereignissen.
  • Bedingungen erstellen. Bedingungen sind Objekte, die verwendet werden, um den Suchbereich nach Benutzeroberflächenautomatisierung Elementen einzuschränken.
  • Abrufen Benutzeroberflächenautomatisierung Elemente direkt vom Desktop (dem Stammelement) oder aus Bildschirmkoordinaten oder Fensterhandles.
  • Erstellen von Struktur-Walker-Objekten, die verwendet werden können, um in der Hierarchie von Benutzeroberflächenautomatisierung Elementen zu navigieren.
  • Konvertieren von Datentypen.

Erstellen des Objekts

Führen Sie die folgenden Schritte aus, um Benutzeroberflächenautomatisierung in Ihrer Anwendung zu verwenden:

  • Schließen Sie UIAutomation.h in Ihre Projektheader ein. UIAutomation.h enthält die anderen Header, die die API definieren.
  • Deklarieren Sie einen Zeiger auf IUIAutomation.
  • Initialisieren Sie das Component Object Model (COM).
  • Erstellen Sie eine instance von CUIAutomation, und rufen Sie die IUIAutomation-Schnittstelle in Ihrem Zeiger ab.

Die folgende Beispielfunktion initialisiert COM und erstellt dann das CUIAutomation-Objekt , wobei die IUIAutomation-Schnittstelle im ppAutomation-Zeiger abgerufen wird.

#include <uiautomation.h>

// CoInitialize must be called before calling this function, and the  
// caller must release the returned pointer when finished with it.
// 
HRESULT InitializeUIAutomation(IUIAutomation **ppAutomation)
{
    return CoCreateInstance(CLSID_CUIAutomation, NULL,
        CLSCTX_INPROC_SERVER, IID_IUIAutomation, 
        reinterpret_cast<void**>(ppAutomation));
}

Konzept

Übersicht über Benutzeroberflächenautomatisierungs-Ereignisse

Abrufen von Benutzeroberflächenautomatisierungs-Elementen