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; }
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(); } }