- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在监视鼠标手势的 DLL 中设置了这个全局鼠标 Hook 。
一切正常,但为 WH_MOUSE_LL 设置了一个 Hook ,这是一个低级 Hook ,不需要在外部可注入(inject) DLL 中。
一旦我切换到更合适的 - WH_MOUSE 鼠标钩子(Hook),一切都会分崩离析。一旦我在主应用程序(安装 Hook 的应用程序)外部单击, Hook 就会损坏 -::UnhookWindowsHookEx 将失败。
我只找到了this guy saying at experts exchange :
"No way, at least under Windows XP + SVP2 WH_MOUSE won't go global, you must use WH_MOUSE_LL instead."
我正确设置了 Hook :在使用共享数据部分的 DLL 中,从 Hook 过程中发布而不是发送消息。
为什么会这样?为什么没有记录?有人遇到过这个吗?谢谢!
顺便说一句:我对流行的 StrokeIt 进行了一些逆向工程。应用程序,它使用 WH_GETMESSAGE 和 WH_MOUSE Hook 的组合,并且仍然可以在 XP/Vista 上工作...
最佳答案
不确定这作为评论是否会更好,但这里是:我相信根据 MSDN WH_MOUSE 在线程级别或全局支持。
正如您自己指出的那样,有很多应用程序在使用它。
所以我的猜测是您对全局 WH_MOUSE 的具体实现存在问题,需要调试和修复。当您说“钩子(Hook)损坏”时,到底发生了什么? Hook 的应用程序会崩溃吗?您能否将调试器附加到您希望从中发生鼠标事件的应用程序,并检查 Hook 中真正崩溃的是什么?
关于c - 为什么 WH_MOUSE 钩子(Hook)不再是全局的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1015393/
我想问一个关于我一直遇到的问题的问题。 我使用以下函数安装了一个 WH_MOUSE Hook : hMouseHook = SetWindowsHookEx(WH_MOUSE, (HOOKPROC)M
我已经设置了一个 WH_MOUSE 钩子(Hook),一切正常,除了我无法获得传递给我的 HOOKPROC 函数在 C# 中正确翻译。 我的项目由两部分组成,C++ 中的非托管部分执行 Hook 和过
我手上有一些代码可以全局打印鼠标坐标(使用 WH_MOUSE_LL)。我的目标是使用 WH_MOUSE 而不是 WH_MOUSE_LL 因为(根据我的阅读)它更快。我在论坛上读到,当使用 WH_MOU
赫洛斯, 在 WinXP 上,我的应用程序已成功使用全局鼠标 Hook 来检索鼠标位置并单击,即使它没有焦点。该钩子(Hook)位于一个单独的 .dll 中,并且像这样初始化(在 delphi 中):
我在监视鼠标手势的 DLL 中设置了这个全局鼠标 Hook 。 一切正常,但为 WH_MOUSE_LL 设置了一个 Hook ,这是一个低级 Hook ,不需要在外部可注入(inject) DLL 中
我发现 WH_MOUSE 并不总是被调用。问题可能是我使用的是 WH_MOUSE 而不是 WH_MOUSE_LL? 代码: class MouseHook { public: static sig
(我的母语不是英语,我用的是google翻译,然后修改。如果有不对的地方,请原谅我糟糕的英语。) 我的目标是在MS Word中做一个带滚动条的Userform,希望能用鼠标滚轮滚动。 但 VBA 不提
我使用 SetWindowsHookEx() 来捕获 WM_MOUSEMOVE,而不是使用 TrackMouseEvent 来捕获 WM_MOUSELEAVE,但是我的 MouseHook 没有捕获
我是一名优秀的程序员,十分优秀!