private void KeysPress(InputBuilder builder, IEnumerable <VirtualKeyCode> keyCodes) { if (keyCodes == null) { return; } foreach (var key in keyCodes) { builder.AddKeyPress(key); } }
private static void ModifiersDown(InputBuilder builder, IEnumerable <VirtualKeyCode> modifierKeyCodes) { if (modifierKeyCodes == null) { return; } foreach (var key in modifierKeyCodes) { builder.AddKeyDown(key); } }
public IKeyboardSimulator ModifiedKeyStroke(IEnumerable <VirtualKeyCode> modifierKeyCodes, IEnumerable <VirtualKeyCode> keyCodes) { var builder = new InputBuilder(); var virtualKeyCodes = modifierKeyCodes as IList <VirtualKeyCode> ?? modifierKeyCodes.ToList(); ModifiersDown(builder, virtualKeyCodes); KeysPress(builder, keyCodes); ModifiersUp(builder, virtualKeyCodes); SendSimulatedInput(builder.ToArray()); return(this); }
private static void ModifiersUp(InputBuilder builder, IEnumerable <Keys> modifierKeyCodes) { if (modifierKeyCodes == null) { return; } var stack = new Stack <Keys>(modifierKeyCodes); while (stack.Count > 0) { builder.AddKeyUp(stack.Pop()); } }
private void SendSimulatedInput(User32.Input[] inputList) { InputBuilder.DispatchInput(inputList); }