Visual Basic Capture вывод команды cmd
Я хочу, чтобы Visual Basic мог запускать команду "make" в каталоге "C: \ projectTest \".
Я пытался использовать это:
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 для этого каталога).
Как я могу захватить все, что появляется, включая ошибку?