Esempio n. 1
0
 static IntPtr HookCallback(
     int nCode, IntPtr wParam, IntPtr lParam)
 {
     if (nCode >= 0)
     {
         if (wParam == (IntPtr)InterceptKeys.WM_KEYDOWN)
         {
             int vkCode = Marshal.ReadInt32(lParam);
             KeyDown?.Invoke(new RawKeyEventArgs(vkCode, false));
         }
         else if (wParam == (IntPtr)InterceptKeys.WM_KEYUP)
         {
             int vkCode = Marshal.ReadInt32(lParam);
             KeyUp?.Invoke(new RawKeyEventArgs(vkCode, false));
         }
     }
     return(InterceptKeys.CallNextHookEx(hookId, nCode, wParam, lParam));
 }
Esempio n. 2
0
 public static void Stop()
 {
     InterceptKeys.UnhookWindowsHookEx(hookId);
 }
Esempio n. 3
0
 public static void Start()
 {
     hookId = InterceptKeys.SetHook(proc);
 }