程序中有需求,脚本程序需要根据程序退出码来获取相关执行情况反馈。
Win32 SDK中使用ExitProcess设置退出码是没有问题的,当使用c-runtime函数时,问题出现。
过程如下
命令行下面输入:
1、console程序
"程序路径" + 参数; 启动程序 console程序没有问题,GUI程序会返回0.
2、等待GUI程序退出
start /wait "" "程序路径" 参数 ;
echo %errorlevel% ;打印退出码
原因是由于c-runtime 的exit退出函数导致的,exit内部也会调用ExitProcess来设置错误码。
所以如果需要得到退出码的话,请使用:exit(退出码);