How to simulate a Ctrl A + Ctrl C using keybd_event

前端 未结 3 2185
耶瑟儿~
耶瑟儿~ 2020-12-06 14:17

How to simulate a Ctrl-A + Ctrl-C using keybd_event?

Because I am simulating a ctrl a + ctrl c on a webbrows

3条回答
  •  夕颜
    夕颜 (楼主)
    2020-12-06 15:10

    This should work

    [DllImport("user32.dll", SetLastError = true)]
    static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);
    
    public const int KEYEVENTF_KEYDOWN = 0x0000; // New definition
    public const int KEYEVENTF_EXTENDEDKEY = 0x0001; //Key down flag
    public const int KEYEVENTF_KEYUP = 0x0002; //Key up flag
    public const int VK_LCONTROL = 0xA2; //Left Control key code
    public const int A = 0x41; //A key code
    public const int C = 0x43; //C key code
    
    public static void PressKeys()
    {
        // Hold Control down and press A
        keybd_event(VK_LCONTROL, 0, KEYEVENTF_KEYDOWN, 0);
        keybd_event(A, 0, KEYEVENTF_KEYDOWN, 0);
        keybd_event(A, 0, KEYEVENTF_KEYUP, 0);
        keybd_event(VK_LCONTROL, 0, KEYEVENTF_KEYUP, 0);
    
        // Hold Control down and press C
        keybd_event(VK_LCONTROL, 0, KEYEVENTF_KEYDOWN, 0);
        keybd_event(C, 0, KEYEVENTF_KEYDOWN, 0);
        keybd_event(C, 0, KEYEVENTF_KEYUP, 0);
        keybd_event(VK_LCONTROL, 0, KEYEVENTF_KEYUP, 0);
    }
    

提交回复
热议问题