Compartir a través de


Aspectos relacionados con subprocesos de la 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.

Debido al modo en que Microsoft UI Automation usa los mensajes de Windows, pueden producirse conflictos cuando una aplicación cliente intenta interactuar con su propia UI en el subproceso de UI. Estos conflictos pueden provocar un rendimiento extremadamente lento o, incluso, hacer que la aplicación deje de responder.

Si la aplicación cliente debe interactuar con todos los elementos del escritorio, incluido su propia UI, todas las llamadas de UI Automation deben realizarse en un subproceso independiente. Esto incluye la búsqueda de elementos (por ejemplo, mediante TreeWalker o el método FindAll) y el uso de patrones de control.

Es seguro realizar las llamadas de UI Automation dentro de un controlador de eventos de UI Automation, porque al controlador de eventos se le llama siempre en un subproceso que no es de UI. Sin embargo, al suscribirse a eventos cuyo origen pueda ser la UI de la aplicación cliente, debe realizar la llamada a AddAutomationEventHandler, o a cualquier método relacionado, en un subproceso que no sea de UI. Quite los controladores de eventos del mismo subproceso.