我需要获得java版本,所以我需要带参数“-version”
的java进程它适用于cmd,不适用于此代码。 并且,它可以很好地创建java进程。但我无法得到输出。
我需要解决这个问题?
Dim JavaProc As New Process()
Dim JavaProcInfo As New ProcessStartInfo("java", "-version")
With JavaProcInfo
.UseShellExecute = False
.RedirectStandardOutput = True
End With
With JavaProc
.StartInfo = JavaProcInfo
.Start()
End With
Dim sOutput As String
Using sReader As System.IO.StreamReader = JavaProc.StandardOutput
sOutput = sReader.ReadToEnd()
End Using
MsgBox(sOutput)
答案 0 :(得分:0)
该版本位于StandardError流上。下面是修改后的代码块;请注意,需要重定向StandardError流。
Dim JavaProc As New Process()
Dim JavaProcInfo As New ProcessStartInfo("java", "-version")
With JavaProcInfo
.UseShellExecute = False
.RedirectStandardError = True
End With
With JavaProc
.StartInfo = JavaProcInfo
.Start()
End With
Dim sOutput As String
Using sReader As System.IO.StreamReader = JavaProc.StandardError
sOutput = sReader.ReadToEnd()
End Using
MsgBox(sOutput)