Example #1
0
 static extern int CallNextHookEx(IntPtr hhk, int code, int wParam, ref kbInfo lParam);
Example #2
0
        public int HookDelegate(int nCode, int wParam, ref kbInfo lParam)
        {
            if (nCode == 0)
               {
               kbInfo ki = (kbInfo)lParam;
               if (wParam == WM_KEYDOWN)
                   if (IsDown(VK_CONTROL) && ki.vkCode == vkKey(ShowHotkey))
                   {
                       GetSelectedText();
                   }
                   else if (ki.vkCode == vkKey(ShowHotkey))
                   {
                       if (InTutorialMode && RTBIndex == TUTORIAL_PAGE_NO - 1)
                       {
                           //showhide();
                           ShowAndHide();
                           DestroyTutorialMode();
                       }
                       else
                       {
                           ShowHide();
                           if (OptionsShowing) ShowHideOptions();
                       }
                   }
                   else if (ki.vkCode == vkKey(ExitHotkey))
                   {
                       CmdInvoker.CleanUp();
                       Application.Current.Shutdown();
                   }
                   else if (IsDown(VK_SHIFT) && ki.vkCode == vkKey(Key.F11))
                   {
                       if (WindowShowing) ShowHideOptions();
                   }
                   else if (ki.vkCode == vkKey(Key.F1))
                   {
                       if (WindowShowing && !InTutorialMode)
                       {
                           ShowAndHide();
                           DestroyMainMode();
                           InTutorialMode = true;
                       }
                   }
                   else if (WindowShowing && !StolenFocus)
                   {
                       StealFocus();
                       StolenFocus = true;
                   }

               }
               return CallNextHookEx(IntPtr.Zero, nCode, wParam, ref lParam);
        }