美文网首页
window 模拟键盘命令 组合键 SendInput

window 模拟键盘命令 组合键 SendInput

作者: 听取哇声一片_11c4 | 来源:发表于2022-02-11 16:00 被阅读0次

    模拟单键输入 

    void SendUnicode(wchar_t data)

    {

        INPUT input[2];

        memset(input, 0, 2 * sizeof(INPUT));

        input[0].type = INPUT_KEYBOARD;

        input[0].ki.wVk = 0;

        input[0].ki.wScan = data;

        input[0].ki.dwFlags = 0x4;//KEYEVENTF_UNICODE;

        input[1].type = INPUT_KEYBOARD;

        input[1].ki.wVk = 0;

        input[1].ki.wScan = data;

        input[1].ki.dwFlags = KEYEVENTF_KEYUP | 0x4;//KEYEVENTF_UNICODE;

        SendInput(2, input, sizeof(INPUT));

    }

    多键同时按下 通过是contrl alt +字母

    void keyboardTreeKey(unsigned short key1, unsigned short key2, unsigned short key3){

        qDebug()<<"键盘命令"<<key2;

        INPUT input[6];

        memset(input, 0, sizeof(input));

        input[0].type = input[1].type = input[2].type = input[3].type = input[4].type = input[5].type = INPUT_KEYBOARD;

        input[0].ki.wVk = input[3].ki.wVk = key1;// VK_CONTROL;

        input[1].ki.wVk = input[4].ki.wVk = key2;//VK_MENU;

        input[2].ki.wVk = input[5].ki.wVk = key3;

        input[3].ki.dwFlags = input[4].ki.dwFlags = input[5].ki.dwFlags = KEYEVENTF_KEYUP;

        SendInput(6, input, sizeof(INPUT));

    }

    键盘命令分按下和抬起,都要传入。 两键的组合键输入input[4],后两位设为抬起

    相关文章

      网友评论

          本文标题:window 模拟键盘命令 组合键 SendInput

          本文链接:https://www.haomeiwen.com/subject/lgzakrtx.html