RichTextbox中显示的实时输出
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RichTextbox中显示的实时输出相关的知识,希望对你有一定的参考价值。
是否有人可以帮助我在进程终止之前从控制台输出中读取。
我有一个第三方控制台应用程序,他的应用程序可能不会在每行后刷新数据,我无法读取。
有没有其他方法,而不是使用像Shell这样的进程或使用任何Windows API在运行时从控制台读取数据?
这是我的代码:
Private Sub StartMiner()
MinerProcess = New Process
MinerProcess.StartInfo.CreateNoWindow = False
MinerProcess.StartInfo.FileName = "abc.exe"
MinerProcess.StartInfo.UseShellExecute = False
MinerProcess.StartInfo.WindowStyle = ProcessWindowStyle.Normal
MinerProcess.StartInfo.RedirectStandardOutput = True
MinerProcess.StartInfo.RedirectStandardError = True
MinerProcess.EnableRaisingEvents = True
MinerProcess.StartInfo.Arguments = "--server abc"
MinerProcess.BeginOutputReadLine()
MinerProcess.BeginErrorReadLine()
MinerProcess.Start()
MinerProcess.WaitForExit()
End Sub
Private Sub MinerProcess_OutputDataReceived(sender As Object, e As DataReceivedEventArgs) Handles MinerProcess.OutputDataReceived
If Me.InvokeRequired Then
Me.BeginInvoke(CType(Sub()
RichTextBox1.Text = RichTextBox1.Text & e.Data & Environment.NewLine
End Sub, MethodInvoker))
Else
RichTextBox1.Text = RichTextBox1.Text & e.Data & Environment.NewLine
End If
End Sub
此外,我尝试使用Read,BeginRead,Readline,ReadtoEnd,但没有任何工作,因为我需要。所有方法都有效,但在终止进程时显示输出,并且控制台文件是长时间运行的进程,因此无法关闭并重新打开以获取输出。
以上是关于RichTextbox中显示的实时输出的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Resharper IntelliSense 中显示所有 Visual Studio 代码片段?