中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 在纯DOS中怎样防止用户CTRL+C终止批处理?
作者:
标题: 在纯DOS中怎样防止用户CTRL+C终止批处理? 上一主题 | 下一主题
zys
初级用户





积分 110
发帖 13
注册 2005-8-17
状态 离线
『楼 主』:  在纯DOS中怎样防止用户CTRL+C终止批处理?

虽然有一个小程序可以做到,但这个程序会跟其它程序冲突,能否通过修改COMMAND.COM来实现这个目的呢?或者有没有其它更好办法?敬请指教!

2005-8-17 00:36
查看资料  发短消息 网志   编辑帖子  回复  引用回复
chenhui530
高级用户





积分 772
发帖 273
注册 2004-10-23
状态 离线
『第 2 楼』:  

我这里有个小程序不知道可以吗?因为我自己也没用过

[ Last edited by chenhui530 on 2005-8-17 at 13:23 ]

附件 1: Boff.rar (2005-8-17 13:23, 202 bytes, 下载附件所需积分 1 点 ,下载次数: 58)


http://www.msfans.net/bbs/
2005-8-17 13:21
查看资料  发送邮件  发短消息 网志  OICQ (77740821)  编辑帖子  回复  引用回复
zys
初级用户





积分 110
发帖 13
注册 2005-8-17
状态 离线
『第 3 楼』:  

谢谢chenhui530,你的这个小程序只能屏蔽CTRL+BREAK,不能屏蔽CTRL+C。
请教高手们还有没有其他办法?

2005-8-17 14:51
查看资料  发短消息 网志   编辑帖子  回复  引用回复
chenhui530
高级用户





积分 772
发帖 273
注册 2004-10-23
状态 离线
『第 4 楼』:  

可以吧



http://www.msfans.net/bbs/
2005-8-17 15:25
查看资料  发送邮件  发短消息 网志  OICQ (77740821)  编辑帖子  回复  引用回复
zys
初级用户





积分 110
发帖 13
注册 2005-8-17
状态 离线
『第 5 楼』:  



  Quote:
Originally posted by chenhui530 at 2005-8-17 15:25:
可以吧

我专门测试过了,的确不行。

2005-8-17 15:59
查看资料  发短消息 网志   编辑帖子  回复  引用回复
JonePeng
金牌会员

D◎$ Fαп


积分 4562
发帖 1883
注册 2004-1-19
来自 广东广州
状态 离线
『第 6 楼』:  

我以前曾贴过一个可以屏蔽Ctrl+C和Ctrl+Break的小程序,不知楼主试过没有?
http://www.cn-dos.net/forum/viewthread.php?tid=15207&fpage=1



----====≡≡≡≡ 我的至爱,永远是MSDOS!≡≡≡≡====----
  
2005-8-17 22:07
查看资料  发送邮件  发短消息 网志  OICQ (373343541)  编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 7 楼』:  

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:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2005-8-19 19:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
martin325
银牌会员





积分 1582
发帖 603
注册 2006-2-20
状态 离线
『第 8 楼』:  

Boff.com在WINME DOS下也只能屏蔽CTRL+BREAK,不能屏蔽CTRL+C

2006-2-24 12:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
blueseye
新手上路





积分 6
发帖 3
注册 2006-6-30
状态 离线
『第 9 楼』:  

在WinME DOS下只能屏蔽ctrl+C,不能屏蔽ctrl+break

2006-7-27 12:51
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tsenix
初级用户





积分 121
发帖 61
注册 2006-4-18
来自 HK
状态 离线
『第 10 楼』:  

能否用break这个指令?

2006-8-1 00:54
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zhiming420
新手上路





积分 5
发帖 3
注册 2009-11-9
状态 离线
『第 11 楼』:  

只能屏蔽ctrl+C,不能屏蔽ctrl+break

2009-11-14 11:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: