在软件设计中经常需要对用户的键盘操作进行监控,这就涉及到对键盘扫描码的读取。通常,键盘上每个键都对应一个两字节的扫描代码,低字节是按键的ASCⅡ码,但特殊键或扩展键的低字节是零,就必须从高字节获得其键位码。使用C函数BIOSKEY()...在软件设计中经常需要对用户的键盘操作进行监控,这就涉及到对键盘扫描码的读取。通常,键盘上每个键都对应一个两字节的扫描代码,低字节是按键的ASCⅡ码,但特殊键或扩展键的低字节是零,就必须从高字节获得其键位码。使用C函数BIOSKEY()或直接读取0x60H端口和内存地址0:0417H开始的换档状态虽然能读出大部分扫描码和一般的组合键,但是对于F11、F12和一些特殊的组合键采用这种办法就无能为力了。为此,本文采用DOS INT 16h中断的10h号功能读取扩展键盘。展开更多
文摘在软件设计中经常需要对用户的键盘操作进行监控,这就涉及到对键盘扫描码的读取。通常,键盘上每个键都对应一个两字节的扫描代码,低字节是按键的ASCⅡ码,但特殊键或扩展键的低字节是零,就必须从高字节获得其键位码。使用C函数BIOSKEY()或直接读取0x60H端口和内存地址0:0417H开始的换档状态虽然能读出大部分扫描码和一般的组合键,但是对于F11、F12和一些特殊的组合键采用这种办法就无能为力了。为此,本文采用DOS INT 16h中断的10h号功能读取扩展键盘。