2012-03-30 132 views
7

我很感興趣的是收集我沒有編寫和無法控制的應用程序的使用情況度量標準。這是在Windows上運行的應用程序。點擊跟蹤Windows應用程序

我的計劃是爲鼠標和鍵盤事件註冊全局窗口鉤子,併爲具有預定義標題或其他可識別屬性的窗口記錄這些事件。

使用這些數據,我希望能夠確定用戶如何使用有問題的應用程序。他們點擊什麼按鈕以及何時以及常見的工作流程。等

對這個想法有什麼想法?是否有第三方產品或庫,這將有助於這種解決方案,而不是要求修改現有的應用程序?

回答

3

我認爲(希望)這是爲了像可用性實驗而不是惡意的目的。

你所概述的方法似乎是合理的。全局鉤子的缺點是:

  1. 這是每個進程的負擔,因爲你的鉤子代碼將被注入到每個進程中。
  2. 它可能會遇到安全屏障。例如,如果您從中等完整性級別的應用程序掛鉤,我認爲您不能掛鉤高完整性級別的應用程序。此外,你基本上是在創建一個鍵盤記錄器,所以如果一些反惡意軟件應用將你標記爲可能的間諜軟件,請不要感到驚訝。
  3. 您可能需要64位版本和32位版本。

減輕您對機器的影響的一種方法是使用更有針對性的鉤子:找到您關心的特定進程,枚舉其線程並僅鉤住這些進程。

Spy ++是一款用於跟蹤Windows消息的開發者工具,它可以滿足您的大部分需求,但我不確定您是否可以將其用於您的目的。我不知道有任何其他的工具或框架可以做這種儀器。

+1

我一直在尋找像MSAA和UI Automation庫這樣的替代品。 Windows SDK v7.1有很多工具可以顯示什麼是可能的,它似乎或多或少都是我需要的。 – RMD 2012-04-04 19:10:05

+0

@RMD:我應該想到這一點。可訪問性通常對人們轉向鉤子的類型有好處。 – 2012-04-06 17:59:59