楼 主
在纯DOS中怎样防止用户CTRL+C终止批处理?
发表于 2005-08-17 00:36 · 中国 广东 河源 电信
初级用户
★
积分 110
发帖 13
注册 2005-08-17 00:35
20年会员
UID 41722
状态 离线
虽然有一个小程序可以做到,但这个程序会跟其它程序冲突,能否通过修改COMMAND.COM来实现这个目的呢?或者有没有其它更好办法?敬请指教!
第 2 楼
发表于 2005-08-17 13:21 · 中国 重庆 沙坪坝区 电信
高级用户
★★
积分 772
发帖 273
注册 2004-10-23 00:00
21年会员
UID 32861
性别 男
状态 离线
我这里有个小程序不知道可以吗?因为我自己也没用过
[ Last edited by chenhui530 on 2005-8-17 at 13:23 ]
附件
Boff.rar (202 bytes, 下载附件所需积分 1 点, 下载次数: 58)
http://www.msfans.net/bbs/
第 3 楼
发表于 2005-08-17 14:51 · 中国 广东 河源 电信
初级用户
★
积分 110
发帖 13
注册 2005-08-17 00:35
20年会员
UID 41722
状态 离线
谢谢chenhui530,你的这个小程序只能屏蔽CTRL+BREAK,不能屏蔽CTRL+C。
请教高手们还有没有其他办法?
第 4 楼
发表于 2005-08-17 15:25 · 中国 重庆 沙坪坝区 电信
高级用户
★★
积分 772
发帖 273
注册 2004-10-23 00:00
21年会员
UID 32861
性别 男
状态 离线
可以吧
http://www.msfans.net/bbs/
第 5 楼
发表于 2005-08-17 15:59 · 中国 广东 河源 电信
初级用户
★
积分 110
发帖 13
注册 2005-08-17 00:35
20年会员
UID 41722
状态 离线
Originally posted by chenhui530 at 2005-8-17 15:25:
可以吧
我专门测试过了,的确不行。
第 6 楼
发表于 2005-08-17 22:07 · 中国 广东 广州 白云区 电信
金牌会员
★★★★
D◎$ Fαп
积分 4,562
发帖 1,883
注册 2004-01-19 00:00
22年会员
UID 15812
性别 男
来自 广东广州
状态 离线
----====≡≡≡≡ 我的至爱,永远是
MSDOS!≡≡≡≡====----
第 7 楼
发表于 2005-08-19 19:40 · 中国 山西 大同 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
23年会员
UID 19
性别 男
状态 离线
Re All:
刚才经过测试, chenhui530 兄提供的 Boff.com(大小173B) 和 JonePeng 兄提供的 BreakOff.com(大小1476B) 均能在 MS-DOS 6.22 和 MS-DOS 7.10 平台下正常工作,但均无法在WinXP的命令行下正常工作,包括CMD和COMMAND。
Boff.com 应该是通过修改 Ctrl+Break 的中断调用地址来实现屏蔽的,它不驻留内存,也无法恢复 Ctrl+Break 原来的中断地址,要重新启用 Ctrl+Break 需要重启。因为 Ctrl+C 先是调用键盘中断,再去调用 Ctrl+Break 中断,而并不理会 Ctrl+C 的键盘输入与屏幕输出,所以按下 Ctrl+C 会在屏幕上会显示一个 ^C,但不起 Ctrl+Break 作用。
BreakOff.com 应该是通过监视键盘并转移的 Ctrl+Break 调用来实现屏蔽的,因此需要驻留内存,它可以通过 Breakoff /q 退出内存驻留,从而恢复 Ctrl+Break 作用。因为它也监视了键盘中断,所以也会屏蔽 ^C 的屏幕输出。
以上内容,均属个人推测,需要参考相关资料进行论证。
※ Batchinger 致 Bat Fans:请访问
批处理编程的异类 ,欢迎交流与共享批处理编程心得!
第 8 楼
发表于 2006-02-24 12:14 · 中国 浙江 杭州 电信
银牌会员
★★★
积分 1,582
发帖 603
注册 2006-02-20 20:26
20年会员
UID 50690
状态 离线
Boff.com在WINME DOS下也只能屏蔽CTRL+BREAK,不能屏蔽CTRL+C
第 9 楼
发表于 2006-07-27 12:51 · IANA 局域网IP(Private-Use)
新手上路
★
积分 6
发帖 3
注册 2006-06-30 14:39
19年会员
UID 57794
状态 离线
在WinME DOS下只能屏蔽ctrl+C,不能屏蔽ctrl+break
第 10 楼
发表于 2006-08-01 00:54 · 中国 香港 环球全域电讯
初级用户
★★
积分 121
发帖 61
注册 2006-04-18 00:09
20年会员
UID 54007
性别 男
来自 HK
状态 离线
第 11 楼
发表于 2009-11-14 11:01 · 中国 广东 珠海 电信
新手上路
★
积分 5
发帖 3
注册 2009-11-09 05:24
16年会员
UID 154418
性别 男
状态 离线
只能屏蔽ctrl+C,不能屏蔽ctrl+break
论坛跳转: