Example #1
0
        /// <summary>
        /// Calls the Win32 SendInput method to simulate a KeyDown.
        /// </summary>
        /// <param name="keyCode">The <see cref="VirtualKeyCode"/> to press</param>
        public IKeyboardSimulator KeyDown(VirtualKeyCode keyCode)
        {
            //var inputList = new InputBuilder(){ ExtraInfo = _inputSimulator.ExtraInfo }.AddKeyDown(keyCode).ToArray();
            unsafe
            {
                var input = stackalloc INPUT[1];
                input[0] = InputBuilder.MakeKeyDown(keyCode, _inputSimulator.ExtraInfo);
                _messageDispatcher.DispatchInput(input, 1);
            }

            return(this);
        }
Example #2
0
        /// <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);
        }