0
真的需要幫助!我想知道如何將jar輸出到VB 2008中的文本框中。 另外我想發送命令給它(例如CMD會在使用此命令時: C:\ Windows \ System32 \ java.exe -Xms128M -Xmx1024M -jar Craftbukkit.jar)在vb中獲取Jar輸出併發送命令
真的需要幫助!我想知道如何將jar輸出到VB 2008中的文本框中。 另外我想發送命令給它(例如CMD會在使用此命令時: C:\ Windows \ System32 \ java.exe -Xms128M -Xmx1024M -jar Craftbukkit.jar)在vb中獲取Jar輸出併發送命令
下面是一個概念驗證。你必須根據自己的願望和願望調整它。這是什麼呢:
此外,這段代碼僅僅是一個概念證明,它遠遠沒有完成(但它足以證明)。你將不得不添加一些額外的檢查等,使其「防水」。
Public Class MyForm
Private WithEvents _CmdProcess As Process
Private Delegate Sub DisplayTextDelegate(text As String)
Private Sub MyForm_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Dim processInfo As New ProcessStartInfo()
processInfo.FileName = "cmd"
processInfo.RedirectStandardError = True
processInfo.RedirectStandardInput = True
processInfo.RedirectStandardOutput = True
processInfo.UseShellExecute = False
processInfo.CreateNoWindow = True
_CmdProcess = Process.Start(processInfo)
_CmdProcess.BeginOutputReadLine()
_CmdProcess.BeginErrorReadLine()
End Sub
Private Sub MyForm_Disposed(sender As System.Object, e As System.EventArgs) Handles MyBase.Disposed
If _CmdProcess IsNot Nothing Then
_CmdProcess.Close()
End If
_CmdProcess = Nothing
End Sub
Private Sub btnExecute_Click(sender As System.Object, e As System.EventArgs) Handles btnExecute.Click
If Not String.IsNullOrWhiteSpace(txtCommand.Text) Then
Dim inputStream As System.IO.StreamWriter = _CmdProcess.StandardInput
inputStream.WriteLine(txtCommand.Text)
inputStream.Flush()
End If
End Sub
Private Sub CmdProcess_ErrorDataReceived(sender As System.Object, e As System.Diagnostics.DataReceivedEventArgs) Handles _CmdProcess.ErrorDataReceived
Invoke(New DisplayTextDelegate(AddressOf DisplayText), Environment.NewLine)
Invoke(New DisplayTextDelegate(AddressOf DisplayText), "Error!")
Invoke(New DisplayTextDelegate(AddressOf DisplayText), e.Data)
End Sub
Private Sub CmdProcess_OutputDataReceived(sender As System.Object, e As System.Diagnostics.DataReceivedEventArgs) Handles _CmdProcess.OutputDataReceived
Invoke(New DisplayTextDelegate(AddressOf DisplayText), e.Data)
End Sub
Private Sub DisplayText(text As String)
txtOutput.AppendText(Environment.NewLine)
txtOutput.AppendText(text)
End Sub
End Class
正是我想要的! – THUND3R
@ THUND3R如果這是您的問題的答案,您能否將其標記爲答案? – Styxxy