C++方向键的获取问题????

如何键盘获取上下左右以及ENTER???我的代码里边为什么不执行switch里的语句???按了方向键后j的值根本不改变,请问要怎么改代码才行... 如何键盘获取上下左右以及ENTER???我的代码里边为什么不执行switch里的语句???按了方向键后 j 的值根本不改变,请问要怎么改代码才行 展开
 我来答
百度网友8adc2ac
2012-04-15 · TA获得超过1388个赞
知道小有建树答主
回答量:375
采纳率:0%
帮助的人:546万
展开全部
代码呢……
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就不记得了,可以试一下。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式