2012-03-30 21 views
7

Sono interessante nel raccogliere le metriche di utilizzo per un'applicazione che non ho scritto e non ho alcun controllo. Questa è un'applicazione che funziona su Windows.Fare clic su Traccia applicazioni Windows

Il mio piano per questo è registrare un hook globale per gli eventi mouse e tastiera e registrare quegli eventi per finestre che hanno titoli predeterminati o altri attributi identificabili.

Utilizzando questi dati, spero di essere in grado di determinare come un utente utilizza l'applicazione in questione. Quali pulsanti fanno clic e quando, oltre ai flussi di lavoro comuni. Etc.

Qualche idea su questa idea? Esistono prodotti o librerie di terze parti che potrebbero facilitare questa soluzione che non prevede richiedere la modifica dell'applicazione esistente?

risposta

3

Suppongo (spero) che si tratti di qualcosa come la sperimentazione dell'usabilità e scopi non nefandi.

L'approccio che hai delineato sembra ragionevole. Gli svantaggi dell'aggancio globale sono:

  1. È un peso per ogni processo, dal momento che il codice del gancio verrà iniettato in ogni processo.
  2. Può incappare in barriere di sicurezza. Ad esempio, se ti stai connettendo da un'app di livello di integrità medio, non penso che sarai in grado di agganciare un'app ad alta integrità. Inoltre, stai essenzialmente creando un keylogger, quindi non sorprenderti se alcune app anti-malware ti segnalano come possibilmente spyware.
  3. Potrebbe essere necessaria una versione a 64 bit e una versione a 32 bit.

Un modo per mitigare l'impatto si ha la macchina è quello di utilizzare un gancio più mirata: trovare il particolare processo che ti interessano, enumerare i suoi fili, e solo quelli agganciare.

Spy ++, uno strumento di sviluppo per il tracciamento dei messaggi di Windows, fa molto di ciò che si desidera, ma non sono sicuro di poterlo sfruttare per il proprio scopo. Non sono a conoscenza di altri strumenti o strutture per fare questo tipo di strumentazione.

+1

In realtà ho esaminato alternative come MSAA e le librerie di automazione UI. Windows SDK v7.1 ha una serie di strumenti che mostrano cosa è possibile e sembra essere più o meno quello di cui ho bisogno. – RMD

+0

@ RMD: avrei dovuto pensarci. Le cose sull'accessibilità sono spesso buone per i tipi di cose che le persone si rivolgono ai ganci. –