窗钩和应用

时间:2012-03-08 02:03:31

标签: windows hook

与我的问题here相关,是否可以创建一个窗口挂钩来监视应用程序是否已被打开?

我发现关于钩子的大部分内容似乎都集中在用户输入(键盘按下,鼠标事件)上,但我无法确认是否可以知道用户所做的“双击”是打开一个应用程序,或只是突出一个词。

谢谢。

1 个答案:

答案 0 :(得分:0)

实际上,窗钩是不够的。事实上,对于您所询问的任务,您可以使用各种策略,例如:

  1. 枚举找到您要查找的进程(工具帮助API或PSAPI)
  2. 枚举桌面上的顶级窗口(但您只限于桌面)
  3. 检查全局或本地事件,mutex(或其他内核对象),以从中推断某个应用程序实例正在运行
  4. ......甚至来自内核PsSetCreateProcessNotifyRoutine
  5. 可能上面还有其他一些变化。

    实质上,问题在于您是要检查流程还是某些其他指示符,表明您要检查的程序是否已启动。