GetExitCodeProcess返回1

时间:2015-01-06 12:22:52

标签: vbscript mfc

我有一个使用CreateProcess的MFC应用程序,然后调用GetExitCodeProcess来获取退出代码。但GetExitCodeProcess返回1并且失败。

关于我的申请的更多细节 -

我的应用程序首先运行两个进程是bat文件,在成功完成第一个进程后,我创建了第二个进程,即vb脚本。两者都在自动化环境中运行该脚本只包含一个消息框。

我的第二个进程失败,错误1由GetExitCodeProcess()返回。

当我以相反的顺序运行脚本时,例如vbscript和第二个作为bat文件,两者都成功执行。

我无法理解为什么我的VB脚本失败并显示错误代码1?

请帮忙。提前谢谢!

乔蒂

2 个答案:

答案 0 :(得分:0)

GetExitCodeProcess() return 1 when process is not yet finished GetExitCodeProcess中所述,返回BOOL以表示成功或失败。进程返回码在第二个参数中返回GetExitCodeProcess

答案 1 :(得分:0)

非常感谢您查看我的查询并尝试回答它。 我已经解决了这个问题,因此想共享解决方案。

在我的应用程序中,我使用'cscript'作为命令行参数执行vb脚本。 当我将该参数更改为'wscript'时,它会提示我filename.vbs不存在的消息。

然后我理解该进程正在执行但它没有获取vb脚本文件,因此进程因GetExitCodeProcess失败而返回值= 1

由于我使用的是cscript,因此无法理解此问题。然而, 'cscript'完全在命令行中运行,非常适合非交互式脚本。 并且'wscript'将弹出Windows对话框以进行用户交互。 因此,当我使用wscript时,我理解了根本原因。

此问题的解决方案是我检查了vbscript文件是否存在。只有文件存在才会继续,直到那个应用程序等待创建vbscript文件。