在c语言里方向键的ASCII码是多少

phs520 2003-06-17 03:14:01
请教c语言高手,在字符ASCII码表里好象没有方向键的值。请问怎么判断按下了方向键???急啊
...全文
722 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
lwd2k 2003-06-17
  • 打赏
  • 举报
回复
找这个程序"键盘扫描码查询",是dos程序
robertcarlos 2003-06-17
  • 打赏
  • 举报
回复
高明~
nickyy 2003-06-17
  • 打赏
  • 举报
回复
非常好
eqiaotea 2003-06-17
  • 打赏
  • 举报
回复
good
teal 2003-06-17
  • 打赏
  • 举报
回复
for(;;)
if(kbhit()) ;如果有键按下
{
str=getch();
printf("%C",str);
printf("%d"str);
}
就可以得到输入的什么东西了
mrzz 2003-06-17
  • 打赏
  • 举报
回复
在DOS使用bioskey函数检查返回的键盘码即可。
const BYTE ZKEY_A = 0x1e;
const BYTE ZKEY_B = 0x30;
const BYTE ZKEY_C = 0x2e;
const BYTE ZKEY_D = 0x20;
const BYTE ZKEY_E = 0x12;
const BYTE ZKEY_F = 0x21;
const BYTE ZKEY_G = 0x22;
const BYTE ZKEY_H = 0x23;
const BYTE ZKEY_I = 0x17;
const BYTE ZKEY_J = 0x24;
const BYTE ZKEY_K = 0x25;
const BYTE ZKEY_L = 0x26;
const BYTE ZKEY_M = 0x32;
const BYTE ZKEY_N = 0x31;
const BYTE ZKEY_O = 0x18;
const BYTE ZKEY_P = 0x19;
const BYTE ZKEY_Q = 0x10;
const BYTE ZKEY_R = 0x13;
const BYTE ZKEY_S = 0x1f;
const BYTE ZKEY_T = 0x14;
const BYTE ZKEY_U = 0x16;
const BYTE ZKEY_V = 0x2f;
const BYTE ZKEY_W = 0x11;
const BYTE ZKEY_X = 0x2d;
const BYTE ZKEY_Y = 0x15;
const BYTE ZKEY_Z = 0x2c;
const BYTE ZKEY_1 = 0x02;
const BYTE ZKEY_2 = 0x03;
const BYTE ZKEY_3 = 0x04;
const BYTE ZKEY_4 = 0x05;
const BYTE ZKEY_5 = 0x06;
const BYTE ZKEY_6 = 0x07;
const BYTE ZKEY_7 = 0x08;
const BYTE ZKEY_8 = 0x09;
const BYTE ZKEY_9 = 0x0a;
const BYTE ZKEY_0 = 0x0b;
const BYTE ZKEY_F1 = 0x3b;
const BYTE ZKEY_F2 = 0x3c;
const BYTE ZKEY_F3 = 0x3d;
const BYTE ZKEY_F4 = 0x3e;
const BYTE ZKEY_F5 = 0x3f;
const BYTE ZKEY_F6 = 0x40;
const BYTE ZKEY_F7 = 0x41;
const BYTE ZKEY_F8 = 0x42;
const BYTE ZKEY_F9 = 0x43;
const BYTE ZKEY_F10 = 0x44;
const BYTE ZKEY_F11 = 0x57;
const BYTE ZKEY_F12 = 0x58;
const BYTE ZKEY_UP = 0xc8;
const BYTE ZKEY_DOWN = 0xd0;
const BYTE ZKEY_LEFT = 0xcb;
const BYTE ZKEY_RIGHT = 0xcd;
const BYTE ZKEY_PGUP = 0xc9;
const BYTE ZKEY_PGDOWN = 0xd1;
const BYTE ZKEY_HOME = 0xc7;
const BYTE ZKEY_END = 0xcf;
const BYTE ZKEY_BACK = 0x0e;
const BYTE ZKEY_SPACE = 0x39;
const BYTE ZKEY_ENTER = 0x1c;
const BYTE ZKEY_TAB = 0x0f;
const BYTE ZKEY_LSHIFT = 0x2a;
const BYTE ZKEY_RSHIFT = 0x36;
const BYTE ZKEY_LCTRL = 0x1d;
const BYTE ZKEY_LALT = 0x38;
const BYTE ZKEY_RALT = 0xb8;
const BYTE ZKEY_DEL = 0xd3;
const BYTE ZKEY_INS = 0xd2;
const BYTE ZKEY_PRTSC = 0xb7;
const BYTE ZKEY_ESC = 0x01;
mrzz 2003-06-17
  • 打赏
  • 举报
回复
这是具体的值,(我的程序里拷出来的)
const BYTE ZKEY_UP = 0xc8;
const BYTE ZKEY_DOWN = 0xd0;
const BYTE ZKEY_LEFT = 0xcb;
const BYTE ZKEY_RIGHT = 0xcd;
phs520 2003-06-17
  • 打赏
  • 举报
回复
是在DOS下
phs520 2003-06-17
  • 打赏
  • 举报
回复
谢谢各位
尽量帮忙啊
mrzz 2003-06-17
  • 打赏
  • 举报
回复
采用VK_UP,VK_DOWN,VK_LEFT,VK_RIGTH判断,
Windows已经定义好了这几个常量,VK意思为Virtual Key,虚拟键值。
比如收到WM_KEYDOWN后判断wParam的值是否为上面的值就知道了。
SY1944 2003-06-17
  • 打赏
  • 举报
回复
左键好像:0x0D00
右键好像:0x0B00
SY1944 2003-06-17
  • 打赏
  • 举报
回复
在C中没有方向键的ASCII值,它是通过BIOS响应和16进制数来表示方向键的值,
现在一下子也想不起来,要回家查书,查到了明天发短信给你,OK?
晨星 2003-06-17
  • 打赏
  • 举报
回复
ASCII没有为方向键编码。
在DOS下,使用bioskey,具体的键值忘记了。
在Windows里,可以使用API:GetKeyboardState,具体请查阅MSDN。

69,370

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧