private static bool DisableKey(IntPtr wp, IntPtr lp) { SebKeyCapture.KBDLLHOOKSTRUCT structure = (SebKeyCapture.KBDLLHOOKSTRUCT)Marshal.PtrToStructure(lp, typeof(SebKeyCapture.KBDLLHOOKSTRUCT)); try { if (!(bool)SEBClientInfo.getSebSetting("enableEsc")["enableEsc"] && structure.key == Keys.Escape || !(bool)SEBClientInfo.getSebSetting("enableCtrlEsc")["enableCtrlEsc"] && structure.flags == 0 && structure.key == Keys.Escape || (!(bool)SEBClientInfo.getSebSetting("enableAltEsc")["enableAltEsc"] && structure.flags == 32 && structure.key == Keys.Escape || !(bool)SEBClientInfo.getSebSetting("enableAltTab")["enableAltTab"] && structure.flags == 32 && structure.key == Keys.Tab) || (!(bool)SEBClientInfo.getSebSetting("enablePrintScreen")["enablePrintScreen"] && structure.key == Keys.Snapshot || !(bool)SEBClientInfo.getSebSetting("enableRightMouse")["enableRightMouse"] && structure.key == Keys.Apps)) { return(true); } int num = (bool)SEBClientInfo.getSebSetting("enableAltTab")["enableAltTab"] ? 1 : 0; if (!(bool)SEBClientInfo.getSebSetting("enableAltF4")["enableAltF4"] && structure.flags == 32 && structure.key == Keys.F4 || !(bool)SEBClientInfo.getSebSetting("enableF1")["enableF1"] && structure.key == Keys.F1 || (!(bool)SEBClientInfo.getSebSetting("enableF2")["enableF2"] && structure.key == Keys.F2 || !(bool)SEBClientInfo.getSebSetting("enableF3")["enableF3"] && structure.key == Keys.F3) || (!(bool)SEBClientInfo.getSebSetting("enableF4")["enableF4"] && structure.key == Keys.F4 || !(bool)SEBClientInfo.getSebSetting("enableF5")["enableF5"] && structure.key == Keys.F5 || (!(bool)SEBClientInfo.getSebSetting("enableF6")["enableF6"] && structure.key == Keys.F6 || !(bool)SEBClientInfo.getSebSetting("enableF7")["enableF7"] && structure.key == Keys.F7)) || (!(bool)SEBClientInfo.getSebSetting("enableF8")["enableF8"] && structure.key == Keys.F8 || !(bool)SEBClientInfo.getSebSetting("enableF9")["enableF9"] && structure.key == Keys.F9 || (!(bool)SEBClientInfo.getSebSetting("enableF10")["enableF10"] && structure.key == Keys.F10 || !(bool)SEBClientInfo.getSebSetting("enableF11")["enableF11"] && structure.key == Keys.F11))) { return(true); } if (!(bool)SEBClientInfo.getSebSetting("enableF12")["enableF12"]) { if (structure.key == Keys.F12) { return(true); } } } catch (Exception ex) { Logger.AddError("DisableKey: Failed with error. " + ex.Message, (object)null, ex, (string)null); } return(false); }
private static void ResetExitKeySequence(IntPtr wp, IntPtr lp) { SebKeyCapture.KBDLLHOOKSTRUCT structure = (SebKeyCapture.KBDLLHOOKSTRUCT)Marshal.PtrToStructure(lp, typeof(SebKeyCapture.KBDLLHOOKSTRUCT)); if (structure.key == SebKeyCapture.exitKey1) { SebKeyCapture.exitKey1_Pressed = false; } if (structure.key == SebKeyCapture.exitKey2) { SebKeyCapture.exitKey2_Pressed = false; } if (structure.key != SebKeyCapture.exitKey3) { return; } SebKeyCapture.exitKey3_Pressed = false; }
private static void ResetCtrlQExitSequence(IntPtr wp, IntPtr lp) { SebKeyCapture.KBDLLHOOKSTRUCT structure = (SebKeyCapture.KBDLLHOOKSTRUCT)Marshal.PtrToStructure(lp, typeof(SebKeyCapture.KBDLLHOOKSTRUCT)); if (structure.key == Keys.LControlKey) { SebKeyCapture.ctrl_Pressed = false; } if (structure.key == Keys.RControlKey) { SebKeyCapture.ctrl_Pressed = false; } if (structure.key != Keys.Q) { return; } SebKeyCapture.Q_Pressed = false; }
private static bool SetAndTestCtrlQExitSequence(IntPtr wp, IntPtr lp) { SebKeyCapture.KBDLLHOOKSTRUCT structure = (SebKeyCapture.KBDLLHOOKSTRUCT)Marshal.PtrToStructure(lp, typeof(SebKeyCapture.KBDLLHOOKSTRUCT)); if (structure.key == Keys.LControlKey) { SebKeyCapture.ctrl_Pressed = true; } else if (structure.key == Keys.RControlKey) { SebKeyCapture.ctrl_Pressed = true; } else if (structure.key == Keys.Q) { SebKeyCapture.Q_Pressed = true; } else { SebKeyCapture.ctrl_Pressed = false; SebKeyCapture.Q_Pressed = false; } return(SebKeyCapture.ctrl_Pressed && SebKeyCapture.Q_Pressed); }
private static IntPtr CaptureKey(int nCode, IntPtr wp, IntPtr lp) { if (nCode >= 0) { SebKeyCapture.TestAppExitSequences(wp, lp); SebKeyCapture.KBDLLHOOKSTRUCT structure = (SebKeyCapture.KBDLLHOOKSTRUCT)Marshal.PtrToStructure(lp, typeof(SebKeyCapture.KBDLLHOOKSTRUCT)); if ((bool)SEBClientInfo.getSebSetting("enableAltTab")["enableAltTab"]) { if (structure.key == Keys.Tab && structure.flags == 32 && (int)wp == 260) { if (SebKeyCapture.Tab_Pressed_First_Time && (int)wp == 260) { SEBClientInfo.SebWindowsClientForm.ShowApplicationChooserForm(); if (SebKeyCapture.Tab_Pressed_First_Time) { SebKeyCapture.Tab_Pressed_First_Time = false; } return((IntPtr)1); } if (!SebKeyCapture.Tab_Pressed_First_Time && (int)wp == 260) { SEBClientInfo.SebWindowsClientForm.SelectNextListItem(); return((IntPtr)1); } } if ((structure.key == Keys.LMenu && structure.flags == 128 || structure.key == Keys.RMenu && structure.flags == 129) && (int)wp == 257) { SEBClientInfo.SebWindowsClientForm.HideApplicationChooserForm(); SebKeyCapture.Tab_Pressed_First_Time = true; } } if (SebKeyCapture.DisableKey(wp, lp)) { return((IntPtr)1); } } return(SebKeyCapture.CallNextHookEx(SebKeyCapture.ptrKeyboardHook, nCode, wp, lp)); }
private static bool SetAndTestExitKeySequence(IntPtr wp, IntPtr lp) { SebKeyCapture.KBDLLHOOKSTRUCT structure = (SebKeyCapture.KBDLLHOOKSTRUCT)Marshal.PtrToStructure(lp, typeof(SebKeyCapture.KBDLLHOOKSTRUCT)); SebKeyCapture.SetExitKeys(); if (structure.key == SebKeyCapture.exitKey1) { SebKeyCapture.exitKey1_Pressed = true; } else if (structure.key == SebKeyCapture.exitKey2) { SebKeyCapture.exitKey2_Pressed = true; } else if (structure.key == SebKeyCapture.exitKey3) { SebKeyCapture.exitKey3_Pressed = true; } else { SebKeyCapture.exitKey1_Pressed = false; SebKeyCapture.exitKey2_Pressed = false; SebKeyCapture.exitKey3_Pressed = false; } return(SebKeyCapture.exitKey1_Pressed && SebKeyCapture.exitKey2_Pressed && SebKeyCapture.exitKey3_Pressed); }