2012-03-30 7 views
7

Me resulta interesante recopilar métricas de uso para una aplicación que no escribí ni controlé. Esta es una aplicación que se ejecuta en Windows.Haga clic en Seguimiento de aplicaciones de Windows

Mi plan para esto es registrar un gancho de Windows global para eventos de mouse y teclados, y registrar esos eventos para ventanas que tienen títulos predeterminados u otros atributos identificables.

Al utilizar esta información, espero poder determinar cómo un usuario usa la aplicación en cuestión. En qué botones hacen clic y cuándo, así como en los flujos de trabajo comunes. Etc.

¿Alguna idea de esta idea? ¿Hay productos de terceros o bibliotecas que faciliten estas soluciones que no no requieren modificación de la aplicación existente?

Respuesta

3

Supongo (espero) esto es para algo así como la experimentación de usabilidad y no fines nefastos.

El enfoque que describió parece razonable. Los inconvenientes del enganche global son:

  1. Es una carga en cada proceso, ya que su código de gancho se inyectará en cada proceso.
  2. Puede toparse con barreras de seguridad. Por ejemplo, si está enganchado desde una aplicación de nivel de integridad medio, no creo que pueda conectar una aplicación de nivel de integridad alto. Además, esencialmente estás creando un keylogger, así que no te sorprendas si alguna aplicación anti-malware te señala como posible spyware.
  3. Puede que necesite una versión de 64 bits y una de 32 bits.

Una forma de mitigar el impacto que tiene en la máquina es utilizar un gancho más específico: encuentre el proceso particular que le interesa, enumere sus hilos y conéctelos únicamente.

Spy ++, una herramienta de desarrollador para el seguimiento de mensajes de Windows, hace mucho de lo que desea, pero no estoy seguro de si podría aprovecharlo para su propósito. No conozco otras herramientas o marcos para hacer este tipo de instrumentación.

+1

En realidad, he estado buscando alternativas como MSAA y las bibliotecas de UI Automation. Windows SDK v7.1 tiene un conjunto de herramientas que muestran lo que es posible, y parece ser más o menos lo que necesito. – RMD

+0

@RMD: Debería haberlo pensado. El material de accesibilidad suele ser bueno para los tipos de cosas que las personas recurren a los enganches. –