我很有兴趣收集我没有编写但无法控制的应用程序的使用指标.这是在
Windows上运行的应用程序.
我的计划是为鼠标和键盘事件注册一个全局窗口挂钩,并为具有预定标题或其他可识别属性的窗口记录这些事件.
使用这些数据,我希望能够确定用户如何使用相关应用程序.他们点击什么按钮以及什么时候,以及常见的工作流程.等等.
我假设(希望)这是用于可用性实验而不是恶意目的.
你概述的方法似乎是合理的.全球挂钩的缺点是:
>这是每个进程的负担,因为您的钩子代码将被注入到每个进程中.
>它可能遇到安全障碍.例如,如果你从一个中等完整性级别的应用程序挂钩,我认为你不能挂钩一个高完整性级别的应用程序.此外,您实际上是在创建一个键盘记录器,所以如果某些反恶意软件应用程序将您标记为间谍软件,请不要感到惊讶.
>您可能需要64位版本和32位版本.
减轻您对计算机的影响的一种方法是使用更有针对性的钩子:找到您关心的特定进程,枚举其线程,并仅挂钩那些.
Spy是一个用于跟踪Windows消息的开发人员工具,可以完成您想要的大部分工作,但我不确定您是否可以将其用于您的目的.我不知道有任何其他工具或框架来做这种仪器.