使用Linux按下并释放密钥

时间:2011-09-26 09:22:16

标签: c++

我正在尝试使用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,如果它更好,如果它是一个例子将非常感谢!

0 个答案:

没有答案