使用VB.Net Shell命令时如何确定是否存在错误?

时间:2010-03-11 15:20:03

标签: vb.net

我正在使用VB.net进程来封装另一个exe进程(它将等到完成,然后在主应用程序中继续处理);但是,在继续主应用程序之前,我需要知道shelled exe进程中是否存在错误。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:2)

如果您使用System.Diagnostics.Process开始此过程:

Dim myProcess As Process = Process.Start("C:\\Path\\To\\Exe.exe")

Do

    'Allow Process to Finish '
    myProcess.Refresh()

Loop While Not myProcess.WaitForExit(1000)

Dim exitCode As int = myProcess.ExitCode

我相信如果一切都成功,ExitCode应为0,如果出现错误,则应为其他返回值。

答案 1 :(得分:0)

可以看看这里,看看这是否是你需要的 http://www.devx.com/dotnet/Article/7914/0/page/2

这实际上取决于你正在运行的是什么,以及你希望从中获得什么。如果它是您编写的应用程序,那么您只需要有一种方法来发回信息。在eventviewer中查找错误? Fileoutput? MSMQ?我可以想到很多不同的方式,但实际上取决于你想要做什么,以及你对你正在运行的内容的控制程度。

如果它完全超出您的控制范围并且弹出错误消息,那么您可能会被卡住。你可以监视进程本身,看看它有哪些活动窗口......但是这可能比你实际要求的工作多一点。