public void Dispose() { gHookProc = null; if (gHookHandle == IntPtr.Zero) { return; } User.UnhookWindowsHookEx(gHookHandle); gHookHandle = IntPtr.Zero; }
private void InitHook() { gHookProc = new User.HookProc(_HookProc); gHookHandle = User.SetWindowsHookEx(User.HookType.WH_GETMESSAGE, gHookProc, IntPtr.Zero, Kernel.GetCurrentThreadId()); if (gHookHandle == IntPtr.Zero) { int err = Marshal.GetLastWin32Error(); throw new HookException("error {0} calling SetWindowsHookEx for hook type WH_GETMESSAGE : {1}", err, new System.ComponentModel.Win32Exception(err).Message); } }
public void Dispose() { gHookProc = null; if (gHookHandle == IntPtr.Zero) return; User.UnhookWindowsHookEx(gHookHandle); gHookHandle = IntPtr.Zero; }