我在一个监视鼠标手势的DLL中设置了全局鼠标钩子。WH_MOUSE为什么不是全局钩子?
一切都很完美,但是为WH_MOUSE_LL设置了一个钩子,它是一个低级钩子,不需要在外部注入DLL中。
一旦我切换 - 更合适的人会说 - WH_MOUSE鼠标钩,一切都崩溃了。一旦我在我的主应用程序(安装钩子的应用程序)之外单击,钩子就会损坏 - :: UnhookWindowsHookEx将失败。
我只找到this guy saying at experts exchange: “没办法,至少是Windows XP下的+ SVP2 WH_MOUSE不会走出去,你 必须使用WH_MOUSE_LL代替”
我正确设置了钩子:在使用共享数据段的DLL中,发布并不从挂钩过程发送消息。
这为什么改变了?为什么没有记录?任何人遇到这个?谢谢!
BTW:我已经反向工程了一下流行StrokeIt应用程序,它使用WH_GETMESSAGE和WH_MOUSE挂钩的组合,仍然适用于XP/Vista的...
必须在自动化应用程序的某个位置进行鼠标挂钩。 Godspeed;) – 2009-06-18 21:55:55