Search code examples
c#sendkeysbsod

C# Simulate Key Press


I was looking for a way to simulate pressing the right Ctrl key in C#, it must be the right one. I know this can be done for the left one but I couldn't find anything on the right one. It is so I can simulate the key press for the manually triggered bsod.

Thanks


Solution

  • You can use keybd_event event to simulate right Ctrl key press.

    [DllImport("user32.dll", SetLastError = true)]
    static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo); 
    
    public const int KEYEVENTF_EXTENDEDKEY = 0x0001; //Key down flag
    public const int KEYEVENTF_KEYUP = 0x0002; //Key up flag
    public const int VK_RCONTROL = 0xA3; //Right Control key code
    

    Usage:

    keybd_event(VK_RCONTROL, 0, KEYEVENTF_EXTENDEDKEY, 0);
    keybd_event(VK_RCONTROL, 0, KEYEVENTF_KEYUP, 0); 
    

    For other key simulation here is virtual key codes list.