![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-10-31 08:32 |
共 47,815 主题排行 / 349,930 发帖 / 今日 0 篇 / 48,290 会员排行 |
| DOS开发编程 & 发展交流 (开发室) » 请问DOS程序读键盘输入的方法 |
| 可打印版本 2,207 / 3 |
| 第1楼 hgw111 | 发表于 2008-07-01 14:01 |
| 新手上路 发帖 2 积分 6 | |
|
请问DOS程序读键盘输入的方法 请问DOS程序读键盘输入,可以使用INT 9吗?一般读键盘输入内容都使用什么方法?
|
|
| 第2楼 netwinxp | 发表于 2008-07-01 17:19 |
| 高级用户 发帖 366 积分 741 | |
|
如果你不是想接管INT 9H,你可以参照我的帖子http://www.cn-dos.net/forum/viewthread.php?tid=40477&fpage=3来获取键盘伪扫描码。
如果你想自己编写INT 9H来替换原来的BIOS键盘中断功能,那你需要用I/O从60H、61H读取键盘扫描码,还要通过查表得到对应的ASC II码并存入BIOS键盘缓冲区0000:041E~043D,同时还要修改键盘缓冲区头(041A~041B)尾(041C~041D)指针,对于按下和释放CTRL、ALT、SHIFT、NUM、SCROLL、CAPS、INS键,你需要对0417~0419相应的位进行置1和清零操作。另外一个最大麻烦是—不同的接口的键盘所用的I/O口及相应的规范不一致。 [ Last edited by netwinxp on 2008-7-1 at 05:21 PM ] |
|
| 第3楼 hgw111 | 发表于 2008-07-02 11:35 |
| 新手上路 发帖 2 积分 6 | |
|
多谢 netwinxp
|
|
| 第4楼 hepu | 发表于 2009-01-16 16:05 |
| 新手上路 发帖 6 积分 11 | |
|
DOS程序读键盘输入的C++函数
http://www.hepu.cn/hzj/hcc3/hcc3_4.htm |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |