7

我对收集一个我没有编写且无法控制的应用程序的使用指标很感兴趣。这是在 Windows 上运行的应用程序。

我的计划是为鼠标和键盘事件注册一个全局窗口挂钩,并为具有预定标题或其他可识别属性的窗口记录这些事件。

使用这些数据,我希望能够确定用户如何使用相关应用程序。他们点击什么按钮,何时点击,以及常见的工作流程。等等。

对这个想法有什么想法吗?是否有第三方产品或库可以促进这种不需要修改现有应用程序的解决方案

4

1 回答 1

3

我假设(希望)这是出于可用性实验之类的目的,而不是出于恶意目的。

您概述的方法似乎是合理的。全局挂钩的缺点是:

  1. 这是每个进程的负担,因为您的钩子代码将被注入到每个进程中。
  2. 它可能会遇到安全障碍。例如,如果您从中等完整性级别的应用程序挂钩,我认为您将无法挂钩高完整性级别的应用程序。此外,您实际上是在创建一个键盘记录器,因此如果某些反恶意软件应用程序将您标记为可能是间谍软件,请不要感到惊讶。
  3. 您可能需要 64 位版本和 32 位版本。

减轻对机器的影响的一种方法是使用更有针对性的钩子:找到你关心的特定进程,枚举它的线程,然后只钩子。

Spy++ 是一种用于跟踪 Windows 消息的开发人员工具,可以满足您的大部分需求,但我不确定您是否可以将其用于您的目的。我不知道有任何其他工具或框架可以进行这种检测。

于 2012-04-02T20:52:12.803 回答