/// <summary> /// Calls the Win32 SendInput method to simulate a KeyUp. /// </summary> /// <param name="keyCode">The <see cref="VirtualKeyCode"/> to lift up</param> public IKeyboardSimulator KeyUp(VirtualKeyCode keyCode) { unsafe { var input = stackalloc INPUT[1]; input[0] = InputBuilder.MakeKeyUp(keyCode, _inputSimulator.ExtraInfo); _messageDispatcher.DispatchInput(input, 1); } return(this); }
/// <summary> /// Calls the Win32 SendInput method with a KeyDown and KeyUp message in the same input sequence in order to simulate a Key PRESS. /// </summary> /// <param name="keyCode">The <see cref="VirtualKeyCode"/> to press</param> public IKeyboardSimulator KeyPress(VirtualKeyCode keyCode) { unsafe { var input = stackalloc INPUT[2]; input[0] = InputBuilder.MakeKeyDown(keyCode, _inputSimulator.ExtraInfo); input[1] = InputBuilder.MakeKeyUp(keyCode, _inputSimulator.ExtraInfo); _messageDispatcher.DispatchInput(input, 2); } //var inputList = new InputBuilder(){ ExtraInfo = _inputSimulator.ExtraInfo }.AddKeyPress(keyCode).ToArray(); //SendSimulatedInput(inputList); return(this); }