按下C ++钩子键盘键并释放键

时间:2019-01-27 13:48:55

标签: c++ windows

我正在尝试制作一个与键盘挂钩的程序。 我试图使用getasynckeystate虽然对我不起作用 有没有办法捕获按下的键和释放的键?

我很乐意得到一些帮助:)

1 个答案:

答案 0 :(得分:1)

因此,该技巧基本上是与功能GetAsyncKeyState一起使用的,并计算每个键被按下了多少次。 如果计数等于1,则按回车键(一次) 这是我的课:

class Key {
private:
    unsigned char key;
    int count;
public:
    Key(unsigned char key) {
        this->key = key;
    }
    void captureKey() {
        if (GetAsyncKeyState(key) & 0x8000) {
            count++;
        }
        else {
            count = 0;
        }
    }
    bool isPressed() {
        return count == 1;
    }
    unsigned char getKey() {
        return this->key;
    }

};