最近做了个捕捉全局鼠标,获取目标窗体内的控件文本信息,点击的按钮信息。用的全局钩子。在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上也可安装钩子正常回调了。