各位兄弟,帮小弟一个忙 请问,在MFC调用批处理后如何能检测到其返回值,因为要根据其返回值判断批处理是否运行成功。
假设批处理出错后 exit /b 1
正常 exit /b 0 那批处理结束以后,如何能判断其返回值是0还是1?
假设批处理出错后 exit /b 1
正常 exit /b 0 那批处理结束以后,如何能判断其返回值是0还是1?
解决方案 »
- 关于取得ToolbarWindows32中按钮的问题
- 学习VC 一定需要学会COM技术吗
- UDP,发送数据的速度不均匀,峰值时丢包怎么办?
- 文件可以在没有关闭的情况下open多次吗?
- 请教:CEdit控件如何给父窗口发送键盘VK_RETURN通知消息
- (高分)求利用组播传送数据的的库
- 关于VC调用Com的问题,查了n篇文章还是没有解决办法,请知道的人指点一下吧
- CreateWindow 里最后一个参数是干什么用的呢? MSDN上说的看不懂
- 我的程序如何与OS绑定到一块儿,同生死,共存亡?
- 如何灰掉按钮
- vc6中如何用程序设置combobox的index?
- 急急************那位算法高手帮我看看这个树遍历算法
PROCESS_INFORMATION info;
CreateProcess("c:\\aaa.bat",NULL,NULL,NULL,FALSE,CREATE_DEFAULT_ERROR_MODE |NORMAL_PRIORITY_CLASS,NULL,NULL,NULL,&pinfo);
批处理执行完毕后,什么时候执行完要自己猜测,获得EXit Code
int code;
GetExitCodeProcess(info.hProcess, &code);
PROCESS_INFORMATION info;
CreateProcess("c:\\aaa.bat",NULL,NULL,NULL,FALSE,CREATE_DEFAULT_ERROR_MODE |NORMAL_PRIORITY_CLASS,NULL,NULL,NULL,&pinfo);
批处理执行期间,不断的FindWindow,就是这个aaa.bat的窗口,如果存在则跳过,500毫秒后再检查,直到没找到,说明已完成并关闭了,发现aaa.bat已运行完毕后,就可以使用以下代码获得exit code了:
int code;
GetExitCodeProcess(info.hProcess, &code);==============================================
另有一个方法:你的bat运行时,根据不同的运行的结果,在退出之前,建立一个同名文件,但内容不同,如运行的某处,要exit 1时,你这样:
@echo 1>ExitCode.txt
要exit 2时,
@echo 2>ExitCode.txt
程序运行之初要
del ExitCode.txt
这样,你只要不断的检测目录下是否有ExitCode.txt文件,如果有,说明已运行完毕,内容就是所要的ExitCode了。