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