【发布时间】:2013-12-20 16:08:51
【问题描述】:
我希望 Visual Basic 能够在目录“C:\projectTest\”上运行“make”命令。
我试过用这个:
Dim output As String = String.Empty
Using Process As New Process
Process.StartInfo = New ProcessStartInfo("cmd")
Process.StartInfo.WorkingDirectory = "C:\projectTest\"
Process.StartInfo.UseShellExecute = False
Process.StartInfo.CreateNoWindow = True
Process.StartInfo.RedirectStandardInput = True
Process.StartInfo.RedirectStandardOutput = True
Process.StartInfo.RedirectStandardError = True
Process.Start()
Process.BeginOutputReadLine()
AddHandler Process.OutputDataReceived,
_
Sub(processSender As Object, lineOut As DataReceivedEventArgs)
output += lineOut.Data + vbCrLf
End Sub
Using InputStream As System.IO.StreamWriter = Process.StandardInput
InputStream.AutoFlush = False
InputStream.WriteLine("make")
End Using
Do
Application.DoEvents()
Loop Until Process.HasExited
End Using
此代码能够捕获控制台的“gcc ...”部分(来自 Makefile),但不会捕获错误(如果我手动打开 cmd 并在该目录上运行 make 会弹出) .
如何捕获出现的所有内容,包括错误?
【问题讨论】:
标签: .net windows visual-studio vba process