C# 全局Hook在xp上不回调

最近做了个捕捉全局鼠标,获取目标窗体内的控件文本信息,点击的按钮信息。用的全局钩子。在win10上运行正常,部署到xp系统上就没有反应。查了些资料,解决了此问题。

原本安装钩子的写法如下:

NativeMethods.SetWindowsHookEx(
               HookType.WH_MOUSE_LL,
               _callback,
               IntPtr.Zero,
               0);

改成

[DllImport("kernel32.dll")] public static extern IntPtr GetModuleHandle(string name);

NativeMethods.SetWindowsHookEx(
               NativeMethods.HookType.WH_MOUSE_LL,
               _callback,
               GetModuleHandle(Process.GetCurrentProcess().MainModule.ModuleName) ,
               0);

xp上也可安装钩子正常回调了。

posted @ 2019-05-29 15:56  liuyong111  阅读(256)  评论(0编辑  收藏  举报