2012-03-30 116 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