小编Cor*_*rey的帖子

在单个控制台行上处理输出重定向

我正在编写一个C#应用程序,它可以启动第三方命令行可执行文件并将其标准输出重定向到RichTextBox.

我可以使用process.OutputDataReceived事件重定向输出.我有一个队列,我将行推送到,然后我使用计时器定期将所有排队的行转储到RichTextBox.

这适用于某些第三方程序.

问题在于多次向控制台的单行写入的程序.例如:5% - > 10% - > 25%等...(不断重写相同的位置)我想,这是通过不放置换行符来完成的,而是简单地返回到行的开头回车并写回以前的字符.

会发生什么是OutputDataReceived似乎没有任何方式指示是否应该应用新行,所以我的RichTextBox输出只是在新行上有多个更新.例如:5%10%25%等...

有没有办法判断标准输出是在新线还是在同一条线上?

c# asynchronous redirectstandardoutput

3
推荐指数
1
解决办法
1129
查看次数

标签 统计

asynchronous ×1

c# ×1

redirectstandardoutput ×1