Поделиться через


Создание объекта CUIAutomation

В этом разделе описывается, как приступить к написанию клиентского приложения Microsoft модель автоматизации пользовательского интерфейса путем создания экземпляра объекта, реализующего IUIAutomation.

В этом разделе содержатся следующие подразделы.

Объект CUIAutomation

Первым шагом в использовании модель автоматизации пользовательского интерфейса является создание объекта класса CUIAutomation. Этот объект предоставляет интерфейс IUIAutomation , который является шлюзом для всех остальных объектов и интерфейсов, используемых клиентскими приложениями. Помимо прочего, IUIAutomation используется для следующих задач:

  • Подписка на события.
  • Создание условий. Условия — это объекты, используемые для сужения область поиска модель автоматизации пользовательского интерфейса элементов.
  • Получение модель автоматизации пользовательского интерфейса элементов непосредственно с рабочего стола (корневого элемента) или из экранных координат или дескрипторов окна.
  • Создание объектов", которые можно использовать для перемещения по иерархии элементов модель автоматизации пользовательского интерфейса.
  • Преобразование типов данных.

Создание объекта

Чтобы приступить к работе с модель автоматизации пользовательского интерфейса в приложении, сделайте следующее:

  • Включите UIAutomation.h в заголовки проекта. UIAutomation.h содержит другие заголовки, определяющие API.
  • Объявите указатель на IUIAutomation.
  • Инициализируйте компонентную объектную модель (COM).
  • Создайте экземпляр CUIAutomation и получите интерфейс IUIAutomation в указателе.

В следующем примере функция инициализирует COM, а затем создает объект CUIAutomation , извлекая интерфейс IUIAutomation в указателе 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));
}

Основные понятия

Обзор событий автоматизации пользовательского интерфейса

Получение элементов автоматизации пользовательского интерфейса