如何获取应用程序使用时间?

How to get application usage time?

我需要获取所有其他应用程序的使用时间。我可以使用 GetForegroundWindow 获取哪个 window 处于活动状态。但是,当 window 变为非活动状态时,我如何得到通知。我们无法反复检查 window 是否处于活动状态。我不需要(进程开始时间 - 当前时间)它给出了进程的长度 运行。我想要 window 激活多长时间。

调查SetWindowsHookEx, and specifically, WH_CBT