键盘上的某些按键无法正常工作,所以我决定创建一个在后台运行的程序并按下这些按键。
一切都很完美,但有一个问题。
如果您按住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));
}