Udostępnij za pośrednictwem


Tworzenie obiektu CUIAutomation

W tej sekcji opisano sposób rozpoczęcia pisania aplikacji klienckiej z użyciem technologii Microsoft UI Automation przez stworzenie instancji obiektu implementującego IUIAutomation.

Ten temat zawiera następujące sekcje.

CUIAutomation, obiekt

Pierwszym krokiem korzystania z automatyzacji interfejsu użytkownika jest utworzenie obiektu klasy CUIAutomation. Ten obiekt uwidacznia interfejs IUIAutomation, który jest bramą dla wszystkich innych obiektów i interfejsów używanych przez aplikacje klienckie. Między innymi IUIAutomation służy do wykonywania następujących zadań:

  • Subskrybowanie wydarzeń.
  • Tworzenie warunków. Warunki to obiekty używane do zawężenia zakresu wyszukiwania elementów automatyzacji interfejsu użytkownika.
  • Uzyskiwanie elementów automatyzacji interfejsu użytkownika bezpośrednio z pulpitu (elementu głównego) lub ze współrzędnych ekranu lub uchwytów okien.
  • Tworzenie obiektów przeszukiwania drzewa, których można użyć do nawigowania w hierarchii elementów automatyzacji interfejsu użytkownika.
  • Konwertowanie typów danych.

Tworzenie obiektu

Aby rozpocząć korzystanie z automatyzacji interfejsu użytkownika w aplikacji, wykonaj następujące kroki:

  • Uwzględnij element UIAutomation.h w nagłówkach projektu. Funkcja UIAutomation.h wprowadza inne nagłówki definiujące interfejs API.
  • Zadeklaruj wskaźnik do IUIAutomation.
  • Zainicjuj model obiektów składnika (COM).
  • Utwórz wystąpienie CUIAutomation i pobierz interfejs IUIAutomation w swoim wskaźniku.

Poniższa przykładowa funkcja inicjuje interfejs COM, a następnie tworzy obiekt CUIAutomation, pobierając interfejs IUIAutomation w wskaźniku ppAutomation.

#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));
}

koncepcyjne

Omówienie zdarzeń automatyzacji interfejsu użytkownika

Uzyskiwanie Elementów Automatyzacji Interfejsu Użytkownika