单击跟踪Windows应用程序

时间:2012-03-30 20:44:18

标签: windows hook tracking usage-statistics setwindowshookex

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

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

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

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

1 个答案:

答案 0 :(得分:3)

我认为(希望)这是用于可用性实验而不是恶意目的。

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

  1. 这是每个进程的负担,因为你的钩子代码将被注入到每个进程中。
  2. 它可能遇到安全障碍。例如,如果你从一个中等完整性级别的应用程序挂钩,我认为你不能挂钩一个高完整性级别的应用程序。此外,您实际上是在创建一个键盘记录器,所以如果某些反恶意软件应用程序将您标记为间谍软件,请不要感到惊讶。
  3. 您可能需要64位版本和32位版本。
  4. 减轻您对计算机的影响的一种方法是使用更具针对性的钩子:找到您关心的特定进程,枚举其线程,并仅挂钩那些。

    用于跟踪Windows消息的开发人员工具Spy ++可以完成您想要的大部分工作,但我不确定您是否可以将其用于您的目的。我不知道有任何其他工具或框架来做这种仪器。