Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
![]() |
---|
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. |
Se utilizan varios marcos de trabajo de la user interface (UI) diferentes en los sistemas operativos de Microsoft, entre los que se incluyen Win32, Windows Forms y Windows Presentation Foundation (WPF). La Microsoft UI Automation expone información sobre los elementos de la interfaz de usuario a los clientes. Sin embargo, la UI Automation propiamente dicha no tiene conocimiento de los diferentes tipos de controles que existen en estos marcos de trabajo ni de las técnicas que se necesitan para extraer información de ellos. En cambio, deja esta tarea a los objetos denominados proveedores. Un proveedor extrae información de un control concreto y proporciona esa información a la UI Automation; ésta, a continuación, se la presenta al cliente de una manera coherente.
Los proveedores pueden existir en el servidor o en el cliente. Un proveedor de servidor se implementa mediante el propio control. Los elementos de WPF implementan proveedores, al igual que pueden hacerlo los controles de otros fabricantes escritos teniendo en cuenta la UI Automation.
Sin embargo, los controles más antiguos, tales como los de Win32 y Windows Forms, no admiten directamente la UI Automation. En cambio, estos controles se proporcionan mediante proveedores que existen en el proceso del cliente y que obtienen información sobre los controles utilizando la comunicación entre procesos; por ejemplo, supervisan los mensajes de Windows enviados y recibidos de los controles. En ocasiones, este tipo de proveedores de cliente se denomina proxy.
Windows Vista proporciona proveedores para los controles estándar de Win32 y Windows Forms. Además, un proveedor de retroceso proporciona compatibilidad parcial con UI Automation para cualquier control no proporcionado por ningún otro proveedor de servidor o proxy que tenga una implementación de Microsoft Active Accessibility. Todos estos proveedores se cargan y están disponibles automáticamente para las aplicaciones cliente.
Para obtener más información sobre compatibilidad con los controles de Win32 y Windows Forms, vea Compatibilidad de UI Automation con controles estándar.
Las aplicaciones también pueden registrar otros proveedores del cliente.
Este tema contiene las secciones siguientes.
- Distribuir proveedores del cliente
- Registrar y configurar proveedores del cliente
- Temas relacionados
Distribuir proveedores del cliente
La UI Automation espera encontrar los proveedores del cliente en un ensamblado de código administrado. El espacio de nombres de este ensamblado debe tener el mismo nombre que el ensamblado. Por ejemplo, un ensamblado llamado ContosoProxies.dll contendría el espacio de nombres ContosoProxies. En el espacio de nombres, cree una clase UIAutomationClientSideProviders. En la implementación del campo estático ClientSideProviderDescriptionTable, cree una matriz de estructuras ClientSideProviderDescription que describan los proveedores.
Registrar y configurar proveedores del cliente
Los proveedores del cliente de un archivo dynamic-link library (DLL) se cargan llamando a RegisterClientSideProviderAssembly. Para utilizar los proveedores, las aplicaciones cliente no necesitan realizar ninguna otra acción.
Los proveedores implementados en el propio código del cliente se registran mediante RegisterClientSideProviders. Este método toma como argumento una matriz de estructuras ClientSideProviderDescription, cada una de las cuales especifica las propiedades siguientes:
Una función de devolución de llamada que crea el objeto de proveedor.
El nombre de clase de los controles que suministrará el proveedor.
El nombre de imagen de la aplicación (normalmente el nombre completo del archivo ejecutable) que suministrará el proveedor.
Marcadores que rijan cómo se establece la correspondencia entre el nombre de clase y las clases de ventana de la aplicación de destino.
Los últimos dos parámetros son opcionales. El cliente puede especificar el nombre de imagen de la aplicación de destino cuando desee utilizar proveedores distintos para aplicaciones diferentes. Por ejemplo, el cliente puede utilizar un proveedor para un control de vista de lista de Win32 de una aplicación conocida que admita el modelo de múltiples vistas y otro diferente para un control similar de otra aplicación conocida que no lo admita.
Vea también
Tareas
Crear un proveedor de UI Automation en el cliente
Implementar proveedores de UI Automation en una aplicación cliente