public static void SendKeys(bool control, bool alt, bool shift, Win32Constants.VirtualKeys keys) { if (control) { PressKey(Win32Constants.VirtualKeys.ControlLeft); } if (alt) { PressKey(Win32Constants.VirtualKeys.Menu); } if (shift) { PressKey(Win32Constants.VirtualKeys.ShiftLeft); } SendKey(keys); if (control) { ReleaseKey(Win32Constants.VirtualKeys.ControlLeft); } if (alt) { ReleaseKey(Win32Constants.VirtualKeys.Menu); } if (shift) { ReleaseKey(Win32Constants.VirtualKeys.ShiftLeft); } Application.DoEvents(); }
public InputBuilder AddKeyUp(Win32Constants.VirtualKeys keyCode) { var up = new Win32Types.INPUT { type = Win32Types.INPUTTYPE.INPUT_KEYBOARD, // Data ={ // Keyboard = // new Win32Types.KEYBDINPUT{ // KeyCode = (UInt16) keyCode, // Scan = 0, // Flags = (UInt32) (IsExtendedKey(keyCode) // ? KeyboardFlag.KeyUp | KeyboardFlag.ExtendedKey // : KeyboardFlag.KeyUp), // Time = 0, // ExtraInfo = IntPtr.Zero // } // } }; var keybdinput = new Win32Types.KEYBDINPUT { wVk = keyCode, wScan = 0, dwFlags = IsExtendedKey(keyCode) ? Win32Constants.KeyboardEvent.KEYEVENTF_KEYUP | Win32Constants.KeyboardEvent.KEYEVENTF_EXTENDEDKEY : Win32Constants.KeyboardEvent.KEYEVENTF_KEYUP, time = 0, dwExtraInfo = IntPtr.Zero }; up.mkhi.ki = keybdinput; _inputList.Add(up); return(this); }
public static bool IsExtendedKey(Win32Constants.VirtualKeys keyCode) { if (keyCode == Win32Constants.VirtualKeys.Menu || keyCode == Win32Constants.VirtualKeys.LMenu || keyCode == Win32Constants.VirtualKeys.RMenu || keyCode == Win32Constants.VirtualKeys.Control || keyCode == Win32Constants.VirtualKeys.ControlRight || keyCode == Win32Constants.VirtualKeys.Insert || keyCode == Win32Constants.VirtualKeys.Delete || keyCode == Win32Constants.VirtualKeys.Home || keyCode == Win32Constants.VirtualKeys.End || keyCode == Win32Constants.VirtualKeys.Prior || keyCode == Win32Constants.VirtualKeys.Next || keyCode == Win32Constants.VirtualKeys.Right || keyCode == Win32Constants.VirtualKeys.Up || keyCode == Win32Constants.VirtualKeys.Left || keyCode == Win32Constants.VirtualKeys.Down || keyCode == Win32Constants.VirtualKeys.NumLock || keyCode == Win32Constants.VirtualKeys.Cancel || keyCode == Win32Constants.VirtualKeys.Snapshot || keyCode == Win32Constants.VirtualKeys.Divide) { return(true); } return(false); }
private static void PressKey(Win32Constants.VirtualKeys keys) { var input = new Win32Types.INPUT { Type = Win32Types.INPUTTYPE.INPUT_KEYBOARD, ki = { wVk = keys, dwFlags = Win32Constants.KeyboardEvent.KEYEVENTF_EXTENDEDKEY } }; Win32Declares.KeyBoard.SendInput(1, new[] { input }, Win32Types.KEYBDINPUT.cbSize); }
public InputBuilder AddKeyDown(Win32Constants.VirtualKeys keyCode) { var down = new Win32Types.INPUT { type = Win32Types.INPUTTYPE.INPUT_KEYBOARD, }; var keybdinput = new Win32Types.KEYBDINPUT { wVk = keyCode, wScan = 0, dwFlags = IsExtendedKey(keyCode) ? Win32Constants.KeyboardEvent.KEYEVENTF_EXTENDEDKEY : 0, time = 0, dwExtraInfo = IntPtr.Zero }; down.mkhi.ki = keybdinput; _inputList.Add(down); return(this); }
public bool IsHardwareKeyUp(Win32Constants.VirtualKeys keyCode) { return(!IsHardwareKeyDown(keyCode)); }
public bool IsHardwareKeyDown(Win32Constants.VirtualKeys keyCode) { int result = Win32Declares.KeyBoard.GetAsyncKeyState((UInt16)keyCode); return(result < 0); }
public InputBuilder AddKeyPress(Win32Constants.VirtualKeys keyCode) { AddKeyDown(keyCode); AddKeyUp(keyCode); return(this); }
public IKeyboardSimulator ModifiedKeyStroke(Win32Constants.VirtualKeys modifierKey, IEnumerable <Win32Constants.VirtualKeys> keyCodes) { ModifiedKeyStroke(new[] { modifierKey }, keyCodes); return(this); }
public IKeyboardSimulator ModifiedKeyStroke( IEnumerable <Win32Constants.VirtualKeys> modifierKeyCodes, Win32Constants.VirtualKeys keyCode) { ModifiedKeyStroke(modifierKeyCodes, new[] { keyCode }); return(this); }
public IKeyboardSimulator ModifiedKeyStroke(Win32Constants.VirtualKeys modifierKeyCode, Win32Constants.VirtualKeys keyCode) { ModifiedKeyStroke(new[] { modifierKeyCode }, new[] { keyCode }); return(this); }
public IKeyboardSimulator KeyPress(Win32Constants.VirtualKeys keyCode) { Win32Types.INPUT[] inputList = new InputBuilder().AddKeyPress(keyCode).ToArray(); SendSimulatedInput(inputList); return(this); }
private static void SendKey(Win32Constants.VirtualKeys keys) { PressKey(keys); ReleaseKey(keys); }
public bool IsTogglingKeyInEffect(Win32Constants.VirtualKeys keyCode) { Int16 result = Win32Declares.KeyBoard.GetKeyState((UInt16)keyCode); return((result & 0x01) == 0x01); }
public SendKeysCommand(Win32Constants.VirtualKeys keyCodes, params Win32Constants.VirtualKeys[] modifierKeyCodes) { _keyCodes = keyCodes; _modifierKeyCodes = modifierKeyCodes; }
public bool IsKeyDown(Win32Constants.VirtualKeys keyCode) { Int16 result = Win32Declares.KeyBoard.GetKeyState((UInt16)keyCode); return(result < 0); }
private static void sendKey(Win32Constants.VirtualKeys keys) { pressKey(keys); releaseKey(keys); }