Ejemplo TrackFocus

Actualización: noviembre 2007

En este ejemplo se sigue el foco de entrada en el escritorio y muestra información sobre los cambios del foco, utilizando Automatización de la interfaz de usuario de Microsoft. Ésta es una aplicación de consola simple que se podría utilizar como punto inicial para una aplicación que utilizara UI Automation para realizar el seguimiento de los eventos en el escritorio.

El programa anuncia cuándo cambia el foco de entrada. Si el foco se mueve a una ventana de la aplicación diferente, se anuncia el título de la ventana. Si el foco se mueve dentro de una ventana de la aplicación, se anuncia el tipo y nombre del control que se está leyendo.

Para saber cuándo cambia el foco de una aplicación a otra, el programa mantiene una lista de los identificadores de tiempo de ejecución de todas las ventanas de nivel superior abiertas. En respuesta a cada evento de cambio de foco, se utiliza un objeto TreeWalker para buscar la ventana primaria y esa ventana se compara con la última ventana que tuvo el foco.

El programa se suscribe a tres tipos de evento:

  • Cambio de estructura. El único evento de interés es la adición de una nueva ventana de nivel superior.

  • Cambio de foco. Se capturan todos los eventos.

  • Cierre de ventana. Cuando se cierra una ventana de nivel superior, su Id. de tiempo de ejecución se quita en la lista.

Para simplificar, no se hace ningún almacenamiento en caché. Una aplicación a escala completa almacenaría probablemente en memoria caché todos los elementos secundarios inmediatos de una ventana de la aplicación en cuanto esa ventana recibiera el foco.

En este ejemplo se muestra una característica específica de Windows Presentation Foundation (WPF) y, consecuentemente, no sigue las recomendaciones de desarrollo de aplicaciones. Para una cobertura completa de los procedimientos recomendados para el desarrollo de aplicaciones Windows Presentation Foundation (WPF) y Microsoft .NET Framework, consulte lo siguiente según corresponda:

Accesibilidad: Procedimientos de accesibilidad recomendados

Seguridad: Seguridad de Windows Presentation Foundation

Localización: Información general sobre la localización y globalización de WPF

Download sample

Generar el ejemplo

  • Instale el Kit de desarrollo de software de Windows (SDK) y abra la ventana de comandos del entorno de compilación. En el menú Inicio, elija Todos los programas, Microsoft Windows SDK y haga clic en Shell CMD.

  • Descargue el ejemplo, que encontrará en la documentación del kit de desarrollo de software (SDK), al disco duro.

  • Para generar el ejemplo en la ventana de comados del entorno de compilación, vaya al directorio de origen del ejemplo. En el símbolo del sistema, escriba MSBUILD.

  • Para generar el ejemplo en Microsoft Visual Studio, cargue la solución de ejemplo o el archivo del proyecto y presione CTRL+MAYÚS+B.

Ejecutar el ejemplo

  • Para ejecutar el ejemplo compilado en la ventana de comandos del entorno de compilación, ejecute el archivo .exe en la carpeta Bin\Debug o Bin\Release, que se encuentra bajo la carpeta de código fuente de ejemplo.

  • Para ejecutar el ejemplo compilado con depuración en Visual Studio, presione F5.