Simulate keyboard input in C#

后端 未结 8 2132
逝去的感伤
逝去的感伤 2020-12-02 12:47

I need to know how to simulate keyboard input for keys W, S, A, D.

I\'ve used SendKeys with no avai

8条回答
  •  天命终不由人
    2020-12-02 13:12

    Adding to @Gareth's solution since the keys get stuck after calling Send(). Here is a simplified version of @Matthew Wherry's ReleaseLShift() so that it works with any key.

    public static void ReleaseKey(ScanCodeShort key)
    {
        var Inputs = new INPUT[1];
        var Input = new INPUT();
        Input.type = 1;
        Input.U.ki.wScan = key;
        Input.U.ki.dwFlags = KEYEVENTF.KEYUP | KEYEVENTF.SCANCODE;
        Inputs[0] = Input;
        SendInput(1, Inputs, INPUT.Size);
    }
    

提交回复
热议问题