我正在尝试使用c ++为用户创建一个类型的程序。我找到了方法keybd_press(...)
,但似乎只适用于Windows标头。有什么办法在Linux中实现这一点?基本上我想要它做的是模仿一个按键给我,一个自动轮询,如果你愿意。我希望它从终端运行,读取用户的输入,然后键入它,直到达到它应键入的次数。我可以做所有这些事情,我只是无法弄清楚如何模拟按下和释放的键。
我认为代码不是必需的,但这就是我正在使用的代码:
#include <iostream>
#include <string>
using namespace std;
int main () {
string mystr;
cout << "What key would you like me to press? ";
getline (cin, mystr);
pressKey(mystr);
return 0;
}
void pressKey(string str) {
const int KEYEVENTF_EXTENDEDKEY = 0x1;
const int KEYEVENTF_KEYUP = 0x2;
keybd_event(VkKeyScan(str), 0x45, KEYEVENTF_EXTENDEDKEY, 0);
keybd_event(VkKeyScan(str), 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
}
注意: 我不介意使用Shell,如果它更好,如果它是一个例子将非常感谢!