注册 登录
编程论坛 C++教室

关于C++中对键盘输入的读取

ljfljf2006 发布于 2008-02-18 10:38, 3302 次点击
我想用C++编写一个WIN32下的贪吃蛇程序,请问下从键盘读取方向键的输入这段代码怎么写.
2 回复
#2
随心2008-02-18 12:45
处理键盘消息 WM_KEYDONW 或 WM_KEYUP
#3
天使梦魔2008-02-19 10:07
你确定不是在MFC中?
消息循环中加入
WM_KEYDONW //键盘按下后状态
WM_KEYUP//放开后状态
方法有很多,我用一个状态检测方法来调试。(其他的可以自己参考)
所谓的状态检测就是当按下某键时条件成真,放开后成假。一直按住不放达到循环效果。

===============================================
bool keys[256]; // 键盘数组
//写在消息循环中的:
case WM_KEYDOWN:
        {
         keys[wParam] = TRUE//当某键按下后成真
         return 0;    
         }
case WM_KEYUP:
         {
          keys[wParam] = FALSE;//放开后成假
          return 0;    
          }
到这一切就结束了,注意
LRESULT CALLBACK WndProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
这里用wParam定义,它可以捕捉到很多消息状态。
键盘消息是其中之一,用虚拟键值来表示,使用的时候:
if(keys[VK_ESCAPE])//当ESC被按下后
MessageBox(NULL,"消息框","ESC被按下",0);
1