各位好!
我在Win7+VS2010环境下编写的一个程序,需要感应鼠标和键盘活动,之前用如下代码调用SetWindowsHookEx一直失败,
hMouseHook = SetWindowsHookEx( WH_MOUSE_LL, MouseHookProcedure, Marshal.GetHINSTANCE(Assembly.GetExecutingAssembly().GetModules()[0]), 0);
之后改用简化了的代码,成功了,具体如下:
hMouseHook = SetWindowsHookEx(WH_MOUSE_LL, MouseHookProcedure, IntPtr.Zero, 0);
但问题是UnhookWindowsHookEx发生异常。怪异的是,如果在程序启动时调用SetWindowsHookEx之后紧跟着UnhookWindowsHookEx,会返回true,表示unhook成功,但程序启动之后再关闭时,调用UnhookWindowsHookEx却返回false,但我检查了句柄数值正确,而且系统钩子也没有被释放过,且始终有效,谁知道问题出在什么地方啊?谢谢啦!
I Believe, I Can