Exemplo n.º 1
0
        private void HookedKeyPress(int nCode, int wParam, KeyboardHook.HookStruct hookStruct, out bool handle)
        {
            handle = false; //预设不拦截
            if (hookStruct.vkCode == (int)Keys.LControlKey && wParam == WM_KEYDOWN)
            {
                CtrlFlag = true;
            }
            if (hookStruct.vkCode == (int)Keys.LControlKey && wParam == WM_KEYUP)
            {
                CtrlFlag = false;
            }
            if (hookStruct.vkCode == (int)Keys.LShiftKey && wParam == WM_KEYDOWN)
            {
                ShiftFlag = true;
            }
            if (hookStruct.vkCode == (int)Keys.LShiftKey && wParam == WM_KEYUP)
            {
                ShiftFlag = false;
            }
            if (hookStruct.vkCode == Hotkeycode && wParam == WM_KEYDOWN)
            {
                HotkeyFlag = true;
            }
            if (hookStruct.vkCode == Hotkeycode && wParam == WM_KEYUP)
            {
                HotkeyFlag = false;
            }

            if (checkCtrl.Checked == false && checkShift.Checked == false && HotkeyFlag)
            {
                HotkeyPress = true;
                return;
            }

            if (checkCtrl.Checked == true && checkShift.Checked == false && CtrlFlag && HotkeyFlag)
            {
                HotkeyPress = true;
                return;
            }

            if (checkCtrl.Checked == false && checkShift.Checked == true && ShiftFlag && HotkeyFlag)
            {
                HotkeyPress = true;
                return;
            }

            if (checkCtrl.Checked == true && checkShift.Checked == true && CtrlFlag && ShiftFlag && HotkeyFlag)
            {
                HotkeyPress = true;
                return;
            }
            HotkeyPress = false;
            return;
        }
Exemplo n.º 2
0
        private void OnKeyPress(KeyboardHook.HookStruct hookStruct, out bool handle)
        {
            handle = false; //预设不拦截任何键
            if (GlobalNotify.IsLoading())
            {
                return;
            }
            Keys key = (Keys)hookStruct.vkCode;

            if (key == Keys.Space)
            {
                InitBackGroundWork();
                bgWorker.RunWorkerAsync();
            }
        }