我正在用 MS VisualC++ 编写程序。我设置了一个键盘挂钩hHook = SetWindowsHookEx(13,MyProc,GetModuleHandle(NULL),0);
。
Win7 中有一个我可以重现的错误,它禁用了我的钩子。当这个错误发生时,hHook
仍然是TRUE
,但UnhookWindowsHookEx(hHook)
返回FALSE
。
但是,我只想在它被禁用时重新启动钩子,所以我不能使用UnhookWindowsHookEx
.
如何检查钩子是否仍然有效?类似的东西GetHookStatus(hHook)
。
我发现这个 Win7 错误是由一些超时或“垃圾收集”引起的,但我更容易检查钩子状态并在需要时重新启动。我不是专业人士,只是将编码作为一种爱好,主要是出于个人需求。
谢谢你。