创建 CUIAutomation 对象

本部分介绍如何通过实例化实现 IUIAutomation 的对象来开始编写 Microsoft UI 自动化 客户端应用程序。

本主题包含以下各节:

CUIAutomation 对象

使用 UI 自动化 的第一步是创建 CUIAutomation 类的对象。 此对象公开 IUIAutomation 接口,该接口是客户端应用程序使用的所有其他对象和接口的网关。 除其他事项外, IUIAutomation 用于以下任务:

  • 订阅事件。
  • 创建条件。 条件是用于缩小UI 自动化元素搜索范围的对象。
  • 直接从桌面 (根元素) 获取UI 自动化元素,或者从屏幕坐标或窗口句柄获取元素。
  • 创建可用于导航UI 自动化元素层次结构的树演练器对象。
  • 转换数据类型。

创建对象

若要开始在应用程序中使用 UI 自动化,请执行以下步骤:

  • 在项目标头中包含 UIAutomation.h。 UIAutomation.h 引入定义 API 的其他标头。
  • 声明指向 IUIAutomation 的指针。
  • (COM) 初始化组件对象模型。
  • 创建 CUIAutomation 的实例,并在指针中检索 IUIAutomation 接口。

以下示例函数初始化 COM,然后创建 CUIAutomation 对象,检索 ppAutomation 指针中的 IUIAutomation 接口。

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

概念性

UI 自动化事件概述

获取 UI 自动化元素