C++方向键的获取问题????
如何键盘获取上下左右以及ENTER???我的代码里边为什么不执行switch里的语句???按了方向键后j的值根本不改变,请问要怎么改代码才行...
如何键盘获取上下左右以及ENTER???我的代码里边为什么不执行switch里的语句???按了方向键后 j 的值根本不改变,请问要怎么改代码才行
展开
1个回答
展开全部
代码呢……
Windows程序下获取方向键需要处理WM_KEYDOWN或者WM_KEYUP,使用VK_LEFT、VK_RIGHT等几个虚拟键值。命令行(Console)下面没法直接处理。
Windows程序下获取方向键需要处理WM_KEYDOWN或者WM_KEYUP,使用VK_LEFT、VK_RIGHT等几个虚拟键值。命令行(Console)下面没法直接处理。
追问
额,刚才忘了发代码了,这样吧,我另外发个代码你帮我看看
这个代码执行不了
但是把VK_UP换成'w’, VK_DOWN换成's', VK_LEFT换成'a' VK_RIGHT换成'd'就可以了,我是菜鸟,求详解,谢谢~~~~~~~~
追答
第一要用getch()
第二,返回的不是VK值而是一个复合的ASCII
按下方向键会返回两个字符,第一个是0xE0代表控制字符,第二个分别是0x4B,0x48,0x4D,0x50。可以先判断返回值,如果是0xE0,再调用一次getch(),然后根据第二个值判断。
ENTER键应该会返回0x0D,后面是不是还跟着一个0x0A就不记得了,可以试一下。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询