Creación del objeto CUIAutomation

En esta sección se describe cómo empezar a escribir una aplicación cliente de Microsoft Automatización de la interfaz de usuario mediante la creación de instancias de un objeto que implementa IUIAutomation.

En este tema se incluyen las siguientes secciones.

El objeto CUIAutomation

El primer paso para usar Automatización de la interfaz de usuario es crear un objeto de la clase CUIAutomation. Este objeto expone la interfaz IUIAutomation , que es la puerta de enlace a todos los demás objetos e interfaces que usan las aplicaciones cliente. Entre otras cosas, IUIAutomation se usa para las siguientes tareas:

  • Suscribirse a eventos.
  • Crear condiciones. Las condiciones son objetos que se usan para restringir el ámbito de las búsquedas de Automatización de la interfaz de usuario elementos.
  • Obtener Automatización de la interfaz de usuario elementos directamente desde el escritorio (el elemento raíz) o desde coordenadas de pantalla o identificadores de ventana.
  • Creación de objetos tree walker que se pueden usar para navegar por la jerarquía de Automatización de la interfaz de usuario elementos.
  • Convertir tipos de datos.

Creación del objeto

Para empezar a usar Automatización de la interfaz de usuario en la aplicación, siga estos pasos:

  • Incluya UIAutomation.h en los encabezados del proyecto. UIAutomation.h incluye los demás encabezados que definen la API.
  • Declare un puntero a IUIAutomation.
  • Inicialice el modelo de objetos componentes (COM).
  • Cree una instancia de CUIAutomation y recupere la interfaz IUIAutomation en el puntero.

La siguiente función de ejemplo inicializa COM y, a continuación, crea el objeto CUIAutomation , recuperando la interfaz IUIAutomation en el puntero 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));
}

Conceptual

Información general sobre eventos de UI Automation

Obtener elementos de UI Automation