// low level mouse hook creation private void CreateLLMouseHook() { _llMouseDelegate = MouseHookCallback; using (Process curProcess = Process.GetCurrentProcess()) using (ProcessModule curModule = curProcess.MainModule) { _mouseHookID = SetWindowsHookEx(14, _llMouseDelegate, GetModuleHandle(curModule.ModuleName), 0); } }
// low level keyboard hook creation private void CreateLLKeyboardHook() { label30.Text = "Key press"; _llKbDelegate = KeyboardHookCallback; using (Process curProcess = Process.GetCurrentProcess()) using (ProcessModule curModule = curProcess.MainModule) { _keyboardHookID = SetWindowsHookEx(13, _llKbDelegate, GetModuleHandle(curModule.ModuleName), 0); } }
private static extern IntPtr SetWindowsHookEx(int idHook, LowLevelKeyboardMouseProc lpfn, IntPtr hMod, uint dwThreadId);