当我们编程有时需要用到键盘的16进制码时,可以编写一个小的程序去获取.以下的程序可供参考:
#include<stdio.h>#include<bios.h>#include<conio.h>
int main(void){ int ch; ch = bioskey(0); printf("ESC 0x011b/n");
while (ch != 0x011b) /*当按键不为ESC时执行循环*/ { printf("0x%x/n",ch); ch = bioskey(0); }
clrscr(); return 0;}
以上可以得到除ESC键外的16进制码,对于ESC键的码值也很容易:
#include<stdio.h>
#include<bios.h>
int main(void)
{
int ch;
ch = bioskey(0);
printf("0x%x",ch);
return 0;
}
说明:
函数bioskey()的原型为:int bioskey(int cmd);它在bios.h头文件中作了说明。
当cmd为0时,bioskey()返回按键的键值,该值是2个字节的整型数。若没有键按下,则该函数一直等待,直到有键按下。当按下时,若返回值的低8位为非零,则表示为普通键,其值代表该键的ASCII码。若返回值的返回低8位为0,则高8位表示为扩展的ASCII码,表示按下的是特殊功能键。