isxkbrd.c

来自「国外网站上的一些精典的C程序」· C语言 代码 · 共 49 行

C
49
字号
/***  ISXKBRD.C - public domain by Ed Kowalski.****  isxkeybrd() - detects enhanced kbd*/#include <dos.h>#include "snipkbio.h"/***  Check for enhanced keyboard support.*/int isxkeybrd(void){      union REGS rg;      unsigned kbdflags;      rg.h.ah = 0x02;               /* check BIOS supports enhanced kbd */      int86(0x16, &rg, &rg);        /* get kbd flags                    */      kbdflags = rg.h.al;      /* mess 'em up, get enhanced flags */      rg.x.ax = 0x1200 + kbdflags ^ 0xff;      int86(0x16, &rg, &rg);      if (rg.h.al == kbdflags)      /* BIOS supports enhanced keyboard  */      {            /* if bit 4 at 40:96h is set machine has an enhanced kbd */            if ((*(( char far *) 0x400096L) & 0x10))                  return 1;         /* enhanced keyboard present        */      }      return 0;                     /* don't use enhanced keyboard calls */}#ifdef TEST#include <stdio.h>main(){      if (isxkeybrd())            puts( "Enhanced Keyboard supported" );      else  puts( "Enhanced Keyboard NOT supported ");      return 0;}#endif /* TEST */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?