public void Start() { if (mhKeyboardHook == 0) { KeyboardHookProcedure = new KeyboardHook.HookProc(KeyboardHookProc); mhKeyboardHook = KeyboardHook.SetWindowsHookEx( KeyboardHook.WH_KEYBOARD_LL, KeyboardHookProcedure, KeyboardHook.GetModuleHandle(System.Diagnostics.Process.GetCurrentProcess().MainModule.ModuleName), 0); } }
public MouseHook() { moduleHandle = GetMainModuleHandle(); mouseHookProc = MouseHookProcedure; mouseHandle = WinApi.SetWindowsHookEx(HookType.WH_MOUSE_LL, mouseHookProc, moduleHandle, 0); buttonStates = MouseButtons.None; if (mouseHandle == IntPtr.Zero) { throw new Win32Exception(Marshal.GetLastWin32Error()); } }
public KeyboardHook() { this._hookFunction = new KeyboardHook.HookProc(this.HookCallback); this.Install(); }
private static extern IntPtr SetWindowsHookEx(KeyboardHook.HookType code, KeyboardHook.HookProc func, IntPtr instance, int threadID);
public static extern int SetWindowsHookEx(int idHook, KeyboardHook.HookProc lpfn, IntPtr hInstance, int threadId);
public static extern IntPtr SetWindowsHookEx(HookType idHook, KeyboardHook.HookProc lpfn, IntPtr hMod, uint dwThreadId);