Example #1
0
        private void OnMessageIntercepted(LowLevelMessage lowLevelMessage, ref bool handled)
        {
            LowLevelKeyboardMessage keyboardMessage = lowLevelMessage as LowLevelKeyboardMessage;

            if (handled || keyboardMessage == null)
            {
                return;
            }

            if (!IsTabKeyDown(keyboardMessage))
            {
                return;
            }

            if (!IsKeyDown(_altKey))
            {
                return;
            }

            bool shiftKeyDown = IsKeyDown(_shiftKey);
            bool ctrlKeyDown  = IsKeyDown(_ctrlKey);

            AltTabHookEventArgs eventArgs = OnPressed(shiftKeyDown, ctrlKeyDown);

            handled = eventArgs.Handled;
        }
Example #2
0
        private void lowLevelKeyboardProcHook(LowLevelKeyboardMessage message, KeyboardLowLevelHookStruct info)
        {
            switch (message)
            {
            case LowLevelKeyboardMessage.WM_KEYUP:
            case LowLevelKeyboardMessage.WM_SYSKEYUP:
                thread_KeyUp((Keys)info.vkCode); break;

            case LowLevelKeyboardMessage.WM_KEYDOWN:
            case LowLevelKeyboardMessage.WM_SYSKEYDOWN:
                thread_KeyDown((Keys)info.vkCode); break;

            default: break;
            }
        }
Example #3
0
 private void RemoveEvent(Keys keys)
 {
     if (llhook)
     {
         for (int i = llmacro.Count - 1; i >= 0; i--)
         {
             LowLevelKeyboardMessage llm = llmacro[i] as LowLevelKeyboardMessage;
             if (llm != null && llm.VirtualKeyCode == (int)keys)
             {
                 llmacro.RemoveAt(i);
                 return;
             }
         }
         MessageBox.Show("Event not found!");
     }
     else
     {
         // not needed
     }
 }
Example #4
0
 private static bool IsAltTabKeyCombination(LowLevelKeyboardMessage keyboardMessage)
 {
     return(keyboardMessage.VirtualKeyCode == (int)Keys.Tab &&
            keyboardMessage.Flags == AltDown);
 }
Example #5
0
 private bool IsTabKeyDown(LowLevelKeyboardMessage keyboardMessage)
 {
     return(keyboardMessage.VirtualKeyCode == (int)Keys.Tab &&
            (keyboardMessage.Message == WM_KEYDOWN || keyboardMessage.Message == WM_SYSKEYDOWN));
 }
        private void lowLevelKeyboardProcHook(LowLevelKeyboardMessage message, KeyboardLowLevelHookStruct info)
        {
            switch (message)
            {
                case LowLevelKeyboardMessage.WM_KEYUP:
                case LowLevelKeyboardMessage.WM_SYSKEYUP:
                    thread_KeyUp((Keys)info.vkCode); break;

                case LowLevelKeyboardMessage.WM_KEYDOWN:
                case LowLevelKeyboardMessage.WM_SYSKEYDOWN:
                    thread_KeyDown((Keys)info.vkCode); break;

                default: break;
            }
        }