读书人

HOOK全局钩子的有关问题

发布时间: 2012-11-10 10:48:50 作者: rapoo

HOOK全局钩子的问题
如何设置全局钩子不依靠DLL,并且截获的鼠标/键盘消息知道是那来自个窗口的?或者有什么方法直接截获由

GetMessage和PeekMessage返回的那个Msg标准消息结构(它里面就带窗体句柄和键盘/鼠标消息)要全局的。HOOK的13种类

型中好像没有这种,只是单独截获某一种。比如 SetWindowsHookEx 的WH_KEYBOARD_LL 这个参数虽然不依赖DLL,但是它只能获取全局的键盘消息,但消息里面没有是发往那个窗口的句柄消息。

[解决办法]
我用的是GetForegroundWindow()获取焦点窗口句柄.
键盘输入时基本都是针对焦点窗口的
[解决办法]
做个全局钩子注入所有进程,钩子不用做任何事,并且hook API GetMessageW
可以在每个进程里面拿到当前进程所属的消息
其实你说的这玩意就是spy++,当然spy++不是我说的这么做的
[解决办法]

探讨
我用的是GetForegroundWindow()获取焦点窗口句柄.
键盘输入时基本都是针对焦点窗口的

[解决办法]
GetForegroundWindow()获取焦点窗口句柄.

[解决办法]
不是GetActiveWindow()么。。

读书人网 >VC/MFC

热点推荐