public void Install() { if (_hookId != IntPtr.Zero) { return; } _keyboardHookDelegate = HookFunc; _hookId = SetHook(_keyboardHookDelegate); }
public void Uninstall() { if (_hookId == IntPtr.Zero) { return; } WindowsHookExInterop.UnhookWindowsHookEx(_hookId); _keyboardHookDelegate = null; _hookId = IntPtr.Zero; }
private static IntPtr SetHook(WindowsHookExInterop.KeyboardHook proc) { using (var module = Process.GetCurrentProcess().MainModule) { return(WindowsHookExInterop.SetWindowsHookEx( 13, proc, GetModuleHandleInterop.GetModuleHandle(module.ModuleName), 0)); } }
private static IntPtr SetHook(WindowsHookExInterop.KeyboardHook windowsHookDelegate) { using (var module = Process.GetCurrentProcess().MainModule) { return(WindowsHookExInterop.SetWindowsHookEx( WH_KEYBOARD_LL, windowsHookDelegate, GetModuleHandleInterop.GetModuleHandle(module.ModuleName), 0)); } }
public void Install() { _hookHandler = HookFunc; _hookId = SetHook(_hookHandler); }