public void Enable() { if (IsEnabled) return; IsEnabled = true; _mouseDelegate = MouseHookProc; _mouseHookHandle = UnsafeNativeMethods.SetWindowsHookEx( Enums.HookType.WH_MOUSE_LL, _mouseDelegate, IntPtr.Zero, 0); }
public void Disable() { if (!IsEnabled) return; IsEnabled = false; var result = UnsafeNativeMethods.UnhookWindowsHookEx(_mouseHookHandle); _mouseHookHandle = IntPtr.Zero; _mouseDelegate = null; if (!result) { int errorCode = Marshal.GetLastWin32Error(); throw new Win32Exception(errorCode); } }
public void Enable() { if (IsEnabled) { return; } IsEnabled = true; _mouseDelegate = MouseHookProc; _mouseHookHandle = UnsafeNativeMethods.SetWindowsHookEx( Enums.HookType.WH_MOUSE_LL, _mouseDelegate, IntPtr.Zero, 0); }
public void Disable() { if (!IsEnabled) { return; } IsEnabled = false; var result = UnsafeNativeMethods.UnhookWindowsHookEx(_mouseHookHandle); _mouseHookHandle = IntPtr.Zero; _mouseDelegate = null; if (!result) { int errorCode = Marshal.GetLastWin32Error(); throw new Win32Exception(errorCode); } }
internal static extern IntPtr SetWindowsHookEx(Enums.HookType hookType, NativeDelegates.HookProc lpfn, IntPtr hMod, uint dwThreadId);
public static extern IntPtr SetWindowsHookEx(NativeConstants.WindowsHook idHook, NativeDelegates.HookProc lpfn, IntPtr hMod, int dwThreadID);