为什么在按下方向箭头ON之后,函数GetKeyState继续为我提供大于0的值?

#include <iostream>
#include <windows.h>
using namespace std;

int main()
{
    for(int i = 0; i < 1000; ++i)
    {
        if(GetKeyState(VK_UP))
        {
            cout << "UP pressed" << endl;
        }
        else
            cout << "UP not pressed" << endl;

        Sleep(150);
    }

    return 0;
}

最佳答案

documentation:



由于您不处理消息,因此您需要调用GetAsyncKeyState

像这样测试按下的键:

if (GetAsyncKeyState(VK_UP) < 0)
    // key is pressed

关于c++ - GetKeyState函数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24506004/

10-13 03:16