![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-10-31 20:41 |
共 47,815 主题排行 / 349,930 发帖 / 今日 0 篇 / 48,290 会员排行 |
| DOS开发编程 & 发展交流 (开发室) » 求助关于键盘抓码的问题 |
| 可打印版本 1,101 / 2 |
| 第1楼 andylei | 发表于 2007-03-03 07:31 |
| 新手上路 发帖 7 积分 17 | |
|
求助关于键盘抓码的问题 我在网上看了这方面的建议,修改15号4FH中断较易实现。
下面是我编写程序的主体。但还是不理想,一些状态键:CTRL,ALT,PAUSE等抓不到!我已搞了好久,没一点头绪!!!请各位帮忙!!!! int15: pushf push ax push cx push dx push bx push sp push bp push si push di push ds push es cmp ah,4fh jnz exit_int15 push cs pop ds push cs pop es inc byte ptr flag_15 mov key_buff_15,al scan1_15: push ax ;显示扫描代码 shr al,1 ;先显示高4位 shr al,1 shr al,1 shr al,1 cmp al,0ah jb scan2_15 add al,7 scan2_15: add al,30h ;转换成ASCII码 mov bx,0 mov ah,0eh int 10h pop ax ;后显示低四位 and al,0fh cmp al,0ah jb scan3_15 add al,7 scan3_15: add al,30h ;转换成ASCII码 mov ah,0eh int 10h mov ax,0e20h ;显示两个空格,以分隔扫描代码 int 10h mov ax,0e20h int 10h exit_int15: ;;;;;;;;;;;;;LFC 07/2/5 pop es pop ds pop di pop si pop bp pop sp pop bx pop dx pop cx pop ax popf DB 0EAH OFF_15 DW ? SEG_15 DW ? 谢谢! |
|
| 第2楼 andylei | 发表于 2007-03-03 08:00 |
| 新手上路 发帖 7 积分 17 | |
|
请各位帮帮忙!真是没一点法子!
|
|
| 第3楼 mfdcxnf | 发表于 2007-03-17 08:54 |
| 初级用户 发帖 74 积分 155 | |
|
我不懂,帮你顶上去,我觉得这个问题好
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |