我使用VB.Net Shell()命令启动我尚未创建的控制台应用程序。我想从我的表单中获取从该控制台到RichTextBox的行。这应该是可能的,因为我看过许多应用程序都这样做。请提供一些可能对我有帮助的信息或任何程序。我试图查看外部应用程序是否创建了日志文件,但它没有。
这是我开始的方式。我应该添加什么,以及在何处返回输出?
Try
writer.WriteLine(RichTextBox1.Text)
writer.Close()
Shell(CurDir() & "\yelloeye.exe .\new.demo")
Catch ex As Exception
MsgBox(ex.Message)
End Try
答案 0 :(得分:0)
这是一个使用@Plutonix提到的RedirectStandardOutput
属性的示例,它将ping SO并在RichTextBox中显示结果。只需替换.exe名称和参数(如果有)以满足您的需求。
Private Sub ShellToRTB()
Dim p As New Process()
p.StartInfo.FileName = "ping.exe"
p.StartInfo.Arguments = "www.stackoverflow.com"
p.StartInfo.UseShellExecute = False
p.StartInfo.RedirectStandardOutput = True
p.Start()
RichTextBox1.Text = p.StandardOutput.ReadToEnd()
p.WaitForExit()
End Sub
结果: