中国DOS联盟论坛

中国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