回 帖 发 新 帖 刷新版面

主题:QB写的EXE在运行中CTRL+C退出后返回系统的ERRORLEVEL值为什么会是0

我用QB45编写了一个可以在DOS下运行的EXE,目的是生成一个输入产品生产序号的界面,并在人员输入完毕并正确后,转存成TXT和BAT文件.
该程序被用在公司产品生产线的测试脚本(BAT脚本)中.但遇到的问题是:
如果在某批处理调用了这个程序并出现等待输入的界面时,CTRL+C BREAK掉后,只是退出出了这个EXE文件,而调用它的批处理没有被中断还会继续往下跑.
我看了正常结束和BREAK退出,返回的ERRORLEVEL都是0.
而我比对了其他C语言写的EXE在CTRL+C中断后返回的ERRORLEVEL是3,随即系统也会退出调用它的批处理.

请问QB可以自己在程序中设定在被中断掉后返回系统的ERRORLEVEL值吗?如果可以怎么设?
[em10]

回复列表 (共3个回复)

沙发

什么什么什么???

板凳

mov al,xx
mov ah,4ch
int 21h

不知道你解决了没有。建议首先看QB文档,中断键的允许,返回码的设置,看有没有。如果没有相关的设置,请考虑上面的代码,al的内容是返回码。你可以用absolute来执行它!

3 楼

1. 改用其他中断键
2. end 30

我来回复

您尚未登录,请登录后再回复。点此登录或注册