在SendInput c ++函数中发送退格键并不总是有效

时间:2017-06-22 12:22:50

标签: c++ windows key-bindings

键盘上的某些按键无法正常工作,所以我决定创建一个在后台运行的程序并按下这些按键。

一切都很完美,但有一个问题。

如果您按住Print Screen键并按下我的非工作键下面的一个键(例如g,因为我想按t),我就这样做了,它会用退格键删除下面的键(因为我按了它)并按下没有工作的关键。

问题是,SendInput函数在某些使用退格键的地方不起作用,例如,如果我尝试用此键入Counter-Strike,它会完全捕获到不能正常工作的键输入,而不是退格键。

可能是什么问题?

    INPUT in;

    int main() {
        in.type = INPUT_KEYBOARD;
        in.ki.wScan = 0;
        in.ki.time = 0;
        in.ki.dwExtraInfo = 0;

        sendInput(VK_BACK); // <--- THIS doesn't work on some programs, input just doesn't send
    }

    void sendInput(WORD k) {
        in.ki.wVk = k;
        in.ki.dwFlags = 0;
        SendInput(1, &in, sizeof(INPUT));
    }

0 个答案:

没有答案