Создание объекта 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));
}
Связанные темы
-
Основные понятия
-
Получение элементов автоматизации пользовательского интерфейса