Compartir a través de


Información general sobre proveedores de UI Automation

NotaNota

Esta documentación está dirigida a desarrolladores de .NET Framework que desean usar las clases administradas de UI Automation definidas en el espacio de nombres System.Windows.Automation.Para obtener información actualizada sobre UI Automation, vea Windows Automation API: UI Automation.

Los proveedores de Automatización de la interfaz de usuario permiten que los controles se comuniquen con las aplicaciones cliente de Automatización de la interfaz de usuario. En general, cada control u otro elemento distinto de la user interface (UI) se representa mediante un proveedor. El proveedor expone información sobre el elemento y, opcionalmente, implementa patrones de control, que permiten a la aplicación cliente interactuar con el control.

Normalmente, las aplicaciones cliente no tienen que trabajar directamente con los proveedores. La mayoría de los controles estándar de las aplicaciones que usan los marcos de trabajo Win32, Windows Forms o Windows Presentation Foundation (WPF) se exponen automáticamente al sistema de UI Automation. Las aplicaciones que implementan controles personalizados también pueden implementar proveedores de UI Automation para esos controles y las aplicaciones cliente no necesitan realizar ningún procedimiento concreto para obtener acceso a ellos.

En este tema se proporciona una introducción sobre cómo los programadores de controles implementan los proveedores de UI Automation, en particular para los controles de las ventanas de Windows Forms y Win32.

Este tema contiene las secciones siguientes.

  • Tipos de proveedores
  • Conceptos de los proveedores de automatización de la interfaz de usuario
  • Temas relacionados

Tipos de proveedores

Los proveedores de Automatización de la interfaz de usuario pertenecen a dos categorías: proveedores del cliente y proveedores del servidor.

Proveedores del cliente

Los cliente de Automatización de la interfaz de usuario implementan proveedores del cliente para comunicarse con aplicaciones que no admitan, total o parcialmente, la UI Automation. Los proveedores del cliente suelen comunicarse con el servidor a través de los límites del proceso para enviar y recibir los mensajes de Windows.

Dado que los proveedores de Automatización de la interfaz de usuario de los controles de las aplicaciones Win32, Windows Forms o WPF se proporcionan como parte del sistema operativo, las aplicaciones cliente casi nunca tienen que implementar sus propios proveedores. Por ello, no se tratan más extensamente en esta introducción.

Proveedores del servidor

Los proveedores del servidor se implementan mediante controles personalizados o aplicaciones basados en un marco de trabajo de la interfaz de usuario distinto de Win32, Windows Forms o WPF.

Los proveedores del servidor se comunican con las aplicaciones cliente a través de los límites del proceso y exponen las interfaces al sistema del núcleo de UI Automation, que a su vez atiende a las solicitudes de los clientes.

Conceptos de los proveedores de automatización de la interfaz de usuario

En esta sección se proporcionan explicaciones breves de algunos de los conceptos clave que debe entender para implementar los proveedores de Automatización de la interfaz de usuario.

Elementos (Elements)

Los elementos de UI Automation son fragmentos de la user interface (UI) que están visibles para los clientes de Automatización de la interfaz de usuario. Entre los ejemplos se incluyen ventanas de la aplicación, paneles, botones, información sobre herramientas, cuadros de lista y elementos de lista.

Los elementos de UI Automation se exponen a los clientes como un árbol de UI Automation. UI Automation construye el árbol navegando de un elemento a otro. La navegación se habilita mediante los proveedores de cada elemento, cada uno de los cuales puede señalar a un elemento primario, secundario o del mismo nivel.

Para obtener más información sobre la vista de cliente del árbol de UI Automation, vea Información general sobre el árbol de la UI Automation.

Vistas

Un cliente puede ver el árbol de UI Automation en tres vistas principales, como se muestra en la tabla siguiente.

Vista sin formato

Contiene todos los elementos.

Vista del control

Contiene los elementos que son controles.

Vista de contenido

Contiene los elementos que tienen contenido.

Para obtener más información sobre las vistas de cliente del árbol de UI Automation, vea Información general sobre el árbol de la UI Automation.

Es responsabilidad de la implementación del proveedor definir un elemento como elemento de contenido o elemento de control. Además, los elementos de control pueden ser o no elementos de contenido, pero todos los elementos de contenido son elementos de control.

Marcos de trabajo

Un marco de trabajo es un componente que administra los controles secundarios, la prueba de posicionamiento y la representación en un área de la pantalla. Por ejemplo, una ventana de Win32, a la que suele hacerse referencia por su identificador HWND, puede actuar como un marco de trabajo que contiene varios elementos de UI Automation, como una barra de menús, una barra de estado y botones.

Los controles contenedores de Win32, como los cuadros de lista y las vistas de árbol se consideran marcos de trabajo, porque contienen su propio código para representar elementos secundarios y realizar la prueba de posicionamiento en ellos. En cambio, un cuadro de lista de WPF no es un marco de trabajo, porque la ventana de WPF contenedora administra la representación y la prueba de posicionamiento.

La UI de una aplicación puede estar compuesta de distintos marcos de trabajo. Por ejemplo, una ventana de la aplicación HWND puede contener código Dynamic HTML (DHTML), que a su vez contiene un componente como un cuadro combinado en un identificador HWND.

Fragmentos

Un fragmento es un subárbol completo de elementos de un marco de trabajo determinado. El elemento del nodo raíz del subárbol se denomina raíz del fragmento. La raíz del fragmento no tiene un elemento primario, pero se hospeda dentro de algún otro marco de trabajo, normalmente una ventana de Win32 (HWND).

Hosts

El nodo raíz de cada fragmento debe hospedarse en un elemento, que suele ser una ventana de Win32 (HWND). La excepción es el escritorio, que no se hospeda en ningún otro elemento. El host de un control personalizado es el indicador HWND del propio control, no la ventana de la aplicación ni otra ventana que pueda contener grupos de controles de nivel superior.

El host de un fragmento realiza una función importante en la prestación de servicios de UI Automation. Permite la navegación hasta la raíz del fragmento y proporciona algunas propiedades predeterminadas, para que el proveedor personalizado no tenga que implementarlas.

Vea también

Conceptos

Implementación del proveedor de UI Automation en el servidor