我有一个shell程序,可以将输出发送到标准输出和标准错误。我正在尝试在VB.net中编写一个程序,该程序实时检查输出并在GUI中显示汇总信息。我还希望shell程序像往常一样继续在命令提示符下显示其输出。我不想只是将输出推到文本框中,因为它似乎失去了它的颜色格式。
我编写了检查输出的代码,但是它有效,但它有消除shell窗口输出的副作用。这是我用来开始重定向输出的代码:
Dim info As New ProcessStartInfo()
info.FileName = "foo.bat"
info.UseShellExecute = False
info.RedirectStandardError = True
info.RedirectStandardOutput = True
revProcess = Process.Start(info)
revProcess.BeginOutputReadLine()
revProcess.BeginErrorReadLine()
然后我有revProcess.OutputDataReceived等的处理程序来进行我的分析。
编辑:看起来还有另外一个问题,但答案没有出现在任何地方:Capture and display console output at the same time抱歉重新发布。
答案 0 :(得分:0)
你可以使用这100%的作品,但它只会显示结果.....
[如何在vb.net中显示shell结果] '创建1个textbox1 '创建1按钮1 'create 1 richtextbox1
在该程序的启动目录中的Dim read As System.IO.StreamReader read = File.OpenText(Application.StartupPath&“\ 123.text”)
Shell("cmd.exe /c" & TextBox1.Text + ">123.text")
Do Until read.EndOfStream
RichTextBox1.Text = read.ReadLine & vbCrLf
Loop
也来自此链接的代码:mediafire.c(o)m /?3i47vg8seani3j3 或者:pastebin.c(o)m / iEhv61jG