2018/10/23 13
二、常用鼠标操作函数
1、检测驱动是否安装并显示按钮个数
#include <dos.h> void mouse_test() { _AX = 0; //调用0号功能 geninterrupt(0x33); if(_AX == -1) //若安装返回-1,否则返回0 printf("mouse installed %d buttons\n", _BX); else printf("mouse not installed\n"); }
1:返回按键的键值,但不删除缓冲区中的键
值。若缓冲区为空,返回0。常用来查询是否有 键按下(与kbhit()的用法相仿)。
2018/10/23 9
三、键盘处理函数
2:返回一些控制键是否被按过的信息,按
过的状态由返回值的低8 位表示,如下:
位 0 1 2 3 4 5 含义 若为1,表示右边Shift被按下 若为1,表示左边Shift被按下 若为1,表示Ctrl键被按下 若为1,表示Alt键被按下 若为1,表示Scroll Lock已打开 若为1,表示Num Lock已打开
2018/10/23
AH的内容 扫描码 扫描码
AL的内容 ASCII码 0
5
二、键盘缓冲区
由于INT 9中断和应用程序接收键盘输入不能 同时进行,而键盘输入的信息是即刻消失的, 为了避免信息丢失,系统在内存中定义了一个 32字节的缓冲区,专门存储键盘输入。
键盘缓冲区中,能使用的仅30字节,可存放15 个字符的扩充码。 此键盘缓冲区是基本输入输出系统分配的,与 C编译器分配的键盘缓冲区不是同一概念。
函数bioskey(),用来处理键盘输入。