我正在尝试实现一个 CBT Hook 来做一件简单的事情:找出哪个应用程序处于活动状态多长时间?活动意味着“用户正在与应用程序窗口进行交互”。
例如,用户在 MSWORD 中处理提案或用户在 Youtube 上在线冲浪。
我们需要了解以下内容:
- 应用程序的名称。
- 文档或 URL 的名称(如果是 IE / Chrome / FF 等浏览器)。
- 应用程序窗口的活动时间。
我的方法是:
SetWindowsHookEx()
为了WH_CBT
- 在我的回调函数
CBTProcCallBack()
中,我检查代码HCBT_ACTIVATE
。我得到了窗口、应用程序和 exe 的详细信息 - 记录时间。
但是,并非所有活动窗口都被捕获。
我的方法好吗还是我错了?