C++ C++;GetAsyncKeyState替代方案

C++ C++;GetAsyncKeyState替代方案,c++,keyboard,C++,Keyboard,我使用Windows.h库的GetAsyncKeyState函数来定义在键盘上按下的键。例如,下面是返回按下键的int值的程序 #include <iostream> #include <windows.h> using namespace std; int main (){ char i; for(i=8;i<190;i++){ if(GetAsyncKeyState(i)== -32767){ cout&l

我使用Windows.h库的GetAsyncKeyState函数来定义在键盘上按下的键。例如,下面是返回按下键的int值的程序

#include <iostream>
#include <windows.h>
using namespace std;
int main (){
    char i;
    for(i=8;i<190;i++){
        if(GetAsyncKeyState(i)== -32767){
            cout<<int (i)<<endl;
        }
    }

    return 0;
}
#包括
#包括
使用名称空间std;
int main(){
char i;

对于(i=8;i您正在尝试制作一个opengl游戏,因此您可能会使用GLFW。如果是这种情况,那么您可以使用
glfwGetKey()

if (glfwGetKey(GLFW_KEY_UP) == GLFW_PRESS) {...}
if (glfwGetKey(GLFW_KEY_DOWN) == GLFW_PRESS) {...}
该方法在from中有很好的解释,但您可能应该从的第一个教程开始,然后再开始


如果你想自己创建win32窗口,你可以监听或消息,并从wparam获取消息。在谷歌搜索一分钟后,我找到了这两个站点作为示例和。你可以结合使用
PeekMessage
TranslateMessage
DispatchMessage
。注册非常简单您可以使用自己的windows过程(WNDPROC)来处理来自windows的输入消息

MSG msg;
while(PeekMessage( &msg, NULL, 0, 0 ))
{
    TranslateMessage( &msg );
    DispatchMessage( &msg );
}
DispatchMessage
函数调用您注册的过程。有关更多信息,请参阅