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));
}
Zugehörige Themen