Skip to content

TChatzigiannakis/InputSimulatorPlus

This branch is 20 commits ahead of, 2 commits behind michaelnoonan/inputsimulator:master.

Folders and files

NameName
Last commit message
Last commit date
Jan 2, 2018
Jul 27, 2010
May 4, 2010
Mar 8, 2018
Jul 7, 2018
Jan 1, 2018
Jan 1, 2018
Jan 2, 2018
Jan 1, 2018

Repository files navigation

Windows Input Simulator Plus

This library is a fork of Michael Noonan's Windows Input Simulator (a C# wrapper around the SendInput functionality of Windows) and it can be used as a replacement of the original library without any source code changes.

This fork supports scan codes, making it compatible with many applications that the original library does not support.

NuGet

Install-Package InputSimulatorPlus

Examples

Example: Single key press

public void PressTheSpacebar()
{
    InputSimulator.SimulateKeyPress(VirtualKeyCode.SPACE);
}

Example: Key-down and Key-up

public void ShoutHello()
{
    // Simulate each key stroke    
    InputSimulator.SimulateKeyDown(VirtualKeyCode.SHIFT);
    InputSimulator.SimulateKeyPress(VirtualKeyCode.VK_H);
    InputSimulator.SimulateKeyPress(VirtualKeyCode.VK_E);
    InputSimulator.SimulateKeyPress(VirtualKeyCode.VK_L);
    InputSimulator.SimulateKeyPress(VirtualKeyCode.VK_L);
    InputSimulator.SimulateKeyPress(VirtualKeyCode.VK_O);
    InputSimulator.SimulateKeyPress(VirtualKeyCode.VK_1);
    InputSimulator.SimulateKeyUp(VirtualKeyCode.SHIFT);

    // Alternatively you can simulate text entry to acheive the same end result
    InputSimulator.SimulateTextEntry("HELLO!");
}

Example: Modified keystrokes such as CTRL-C

public void SimulateSomeModifiedKeystrokes()
{
    // CTRL-C (effectively a copy command in many situations)
    InputSimulator.SimulateModifiedKeyStroke(VirtualKeyCode.CONTROL, VirtualKeyCode.VK_C);

    // You can simulate chords with multiple modifiers
    // For example CTRL-K-C whic is simulated as
    // CTRL-down, K, C, CTRL-up
    InputSimulator.SimulateModifiedKeyStroke(VirtualKeyCode.CONTROL, new [] {VirtualKeyCode.VK_K, VirtualKeyCode.VK_C});

    // You can simulate complex chords with multiple modifiers and key presses
    // For example CTRL-ALT-SHIFT-ESC-K which is simulated as
    // CTRL-down, ALT-down, SHIFT-down, press ESC, press K, SHIFT-up, ALT-up, CTRL-up
    InputSimulator.SimulateModifiedKeyStroke(
        new[] { VirtualKeyCode.CONTROL, VirtualKeyCode.MENU, VirtualKeyCode.SHIFT },
        new[] { VirtualKeyCode.ESCAPE, VirtualKeyCode.VK_K });
}

Example: Simulate text entry

public void SayHello()
{
    InputSimulator.SimulateTextEntry("Say hello!");
}

Example: Determine the state of different types of keys

public void GetKeyStatus()
{
    // Determines if the shift key is currently down
    var isShiftKeyDown = InputSimulator.IsKeyDown(VirtualKeyCode.SHIFT);

    // Determines if the caps lock key is currently in effect (toggled on)
    var isCapsLockOn = InputSimulator.IsTogglingKeyInEffect(VirtualKeyCode.CAPITAL);
}

About

Windows Input Simulator Plus

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%