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