我正在使用VB.net进程来封装另一个exe进程(它将等到完成,然后在主应用程序中继续处理);但是,在继续主应用程序之前,我需要知道shelled exe进程中是否存在错误。有没有办法做到这一点?
答案 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?我可以想到很多不同的方式,但实际上取决于你想要做什么,以及你对你正在运行的内容的控制程度。
如果它完全超出您的控制范围并且弹出错误消息,那么您可能会被卡住。你可以监视进程本身,看看它有哪些活动窗口......但是这可能比你实际要求的工作多一点。