public void HandleKeyEvents(KeyHookEventArgs e) { if (e.Key == (Keys.Alt | Keys.Tab)) { e.Handled = true; WindowHandle.PostMessage(WindowMessages.BeginSession, 0, 0); } }
private bool HookProcInner(int nCode, WindowMessages wParam, ref LowLevelKeyStruct lParam) { if (nCode < 0) { return(false); } if (lParam.Flags.HasFlag(LowLevelKeyFlags.Injected)) { return(false); } bool alt = lParam.Flags.HasFlag(LowLevelKeyFlags.AltDown); Keys key = alt ? lParam.VkCode | Keys.Alt : lParam.VkCode; KeyHookEventArgs e = new KeyHookEventArgs(key); KeyEvent?.Invoke(e); return(e.Handled); }