我希望Visual Basic能夠在目錄「C:\ projectTest \」上運行「make」命令。cmd的Visual Basic捕獲輸出
我試圖用這樣的:
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,就會彈出)。
如何捕獲包括錯誤在內的所有內容?
你是高手!該代碼似乎也比以前更快地編譯該項目。 21小時過後,我會獎賞你的賞金:) – Jimmay