4个回答
展开全部
1、一般是使用getch获取
方向键(←): 0xe04b
方向键(↑): 0xe048
方向键(→): 0xe04d
方向键(↓): 0xe050
一个方向键要用两个getch才能把它的数据获取完.
然后对应着两个字符数据, 一个当高位, 一个当低位, 就可以判断按下的是什么键, 如:
char ch = getch();
if(ch == 0xe000) //如果高位相等
{
ch = getch(); //那么再获取一个
if (ch == 0x004b) //如果低位也相同(和方向键左一样)
.... //要执行的动作.
}
else //如果不是, 把这个字符吸收了.
getch()
2、例程:
#include <stdio.h>
#include <stdlib.h>
main()
{
int key,key2;
key = getch();
printf("\nkey value = 0x%02x -- %d\n",key,key);
key = getch();
printf("\nkey value = 0x%02x -- %d\n",key,key);
}
展开全部
下面程序探测方向键编码(16进制和10进制)。
按1个键,读得2个码:
#include <stdio.h>
#include <stdlib.h>
main()
{
int key,key2;
key = getch();
printf("\nkey value = 0x%02x -- %d\n",key,key);
key = getch();
printf("\nkey value = 0x%02x -- %d\n",key,key);
}
0xe0,0x48 上
0xe0,0x4b 左
0xe0,0x4d 右
0xe0,0x50 下
按1个键,读得2个码:
#include <stdio.h>
#include <stdlib.h>
main()
{
int key,key2;
key = getch();
printf("\nkey value = 0x%02x -- %d\n",key,key);
key = getch();
printf("\nkey value = 0x%02x -- %d\n",key,key);
}
0xe0,0x48 上
0xe0,0x4b 左
0xe0,0x4d 右
0xe0,0x50 下
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//你好,在接收方向键时只需获取键盘的按键键值,然后根据不同的键值进行不同的处理即可
//一个简单且完整的示例如下
#include<stdio.h>
#include<conio.h>
int main()
{
int key; //定义key,用于接收按键键值
while(key = getch()) //等待按键
{
switch(key)
{
case 72: printf("你按下了方向键上\n"); break;
case 80: printf("你按下了方向键下\n"); break;
case 75: printf("你按下了方向键左\n"); break;
case 77: printf("你按下了方向键右\n"); break;
case 27: return 0; //键值27为Esc键,当按下这个键时退出程序
}
}
return 0;
}
//一个简单且完整的示例如下
#include<stdio.h>
#include<conio.h>
int main()
{
int key; //定义key,用于接收按键键值
while(key = getch()) //等待按键
{
switch(key)
{
case 72: printf("你按下了方向键上\n"); break;
case 80: printf("你按下了方向键下\n"); break;
case 75: printf("你按下了方向键左\n"); break;
case 77: printf("你按下了方向键右\n"); break;
case 27: return 0; //键值27为Esc键,当按下这个键时退出程序
}
}
return 0;
}
追问
方向键也是有ascii码?77是字符M啊!
追答
你好,我表示没有说过这是书上所说的标准ascii码,键盘上的每个按键都对应着一个值,这个值简称为键值吧,我给你写了一个键盘键值的查看C代码,你可以试下:
//键盘键值查看(C语言)
#include
#include
int main()
{
int key; //定义key,用于接收按键键值
while(key = getch())
{ //在取方向键键值时忽略输出的224
printf("%d\n", key);
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用asc码键盘上的键都有对应的asc码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询