使用WINDOWS API函数代替获取当前实例的函数:
用:
[DllImport("kernel32.dll")]
public static extern IntPtr GetModuleHandle(string name);
GetModuleHandle(Process.GetCurrentProcess().MainModule.ModuleName)
代替:
Marshal.GetHINSTANCE(Assembly.GetExecutingAssembly().GetModules()[0])
当作 SetWindowsHookEx 的第三个参数: IntPtr hInstance
C#使用全局钩子(hook),SetWindowsHookEx返回0、不回调的解决
最新推荐文章于 2020-12-17 16:59:03 发布
本文介绍了一种使用Windows API函数GetModuleHandle替代 Marshal.GetHINSTANCE的方法,以更高效地获取当前实例。此方法适用于需要设定SetWindowsHookEx第三个参数的情景。
3288





