Esempio n. 1
0
 private IntPtr HookProc(int nCode, IntPtr wParam, ref LowLevelKeyStruct lParam)
 {
     if (HookProcInner(nCode, (WindowMessages)wParam, ref lParam))
     {
         return((IntPtr)1);
     }
     return(CallNextHookEx(hookId, nCode, wParam, ref lParam));
 }
Esempio n. 2
0
        private bool HookProcInner(int nCode, WindowMessages wParam, ref LowLevelKeyStruct lParam)
        {
            if (nCode < 0)
            {
                return(false);
            }
            if (lParam.Flags.HasFlag(LowLevelKeyFlags.Injected))
            {
                return(false);
            }

            bool             alt = lParam.Flags.HasFlag(LowLevelKeyFlags.AltDown);
            Keys             key = alt ? lParam.VkCode | Keys.Alt : lParam.VkCode;
            KeyHookEventArgs e   = new KeyHookEventArgs(key);

            KeyEvent?.Invoke(e);
            return(e.Handled);
        }
Esempio n. 3
0
 private static extern IntPtr CallNextHookEx(IntPtr hhk, int nCode, IntPtr wParam, ref LowLevelKeyStruct lParam);