public static void InstallHook() { if (WinKBHookCallbackDelegate == null && WKBHookInstance == IntPtr.Zero) { WinKBHookCallbackDelegate = new NativeImport.WindowsHookAdditionals.HookProc(HookedKBWindowsCallback); var hinstance = NativeImport.LoadLibrary("User32"); WKBHookInstance = NativeImport.SetWindowsHookEx(NativeImport.WindowsHookAdditionals.HookType.WH_KEYBOARD_LL, WinKBHookCallbackDelegate, hinstance, 0); Logger.Log("Installed Keyboard hook."); } }
public void InstallHooks(IntPtr hwnd) { winMSHookCallbackDelegate = new NativeImport.WindowsHookAdditionals.HookProc(HookedMSWindowsCallback); winKBHookCallbackDelegate = new NativeImport.WindowsHookAdditionals.HookProc(HookedKBWindowsCallback); var hinstance = NativeImport.LoadLibrary("User32"); wMSHookInstance = NativeImport.SetWindowsHookEx(NativeImport.WindowsHookAdditionals.HookType.WH_MOUSE_LL, winMSHookCallbackDelegate, hinstance, 0); wKBHookInstance = NativeImport.SetWindowsHookEx(NativeImport.WindowsHookAdditionals.HookType.WH_KEYBOARD_LL, winKBHookCallbackDelegate, hinstance, 0); rIUtils = new RawInputUtils(hwnd); Console.WriteLine("Installed input hooks"); }