【问题标题】:Redirecting stdout in code that modifies the Cursor在修改光标的代码中重定向标准输出
【发布时间】:2012-05-30 15:02:49
【问题描述】:

我有一个程序(无源),我想重定向 stdout 和 strerr,以便解析进度指示器并在调用它的应用程序中显示进度。

问题是这个应用程序调用了 Console.Clear()、SetWindowSize、Cursor.Top 等。

这些似乎破坏了重定向并使应用程序崩溃。我已经设法通过在 il 代码中对这些调用进行 NOP 来使其工作,但这当然比其他任何东西都更像是一种 hack。

我想知道是否有办法让我在不删除这些调用的情况下重定向 STD。

【问题讨论】:

    标签: c# .net stdout io-redirection


    【解决方案1】:

    不,你被卡住了。

    您不能在重定向端口中使用任何这些花哨的功能。

    【讨论】:

    • 该死的..我害怕这个。明天我会尝试一些事情。如果他们没有成功,我会将其标记为答案(除非有人在酝酿一些不错的黑魔法):)
    • @Phyx:我也想要一个更好的答案:)
    • 还没有机会看一看。当我这样做时,我会在这里发布一些东西如果我让它工作,干杯
    • 我最终确实找到了一种方法,通过轮询控制台的 BufferInfo 我可以读取正在打印到控制台的文本并隐藏控制台窗口。与codeproject.com/Articles/16163/… 中描述的技术相同
    猜你喜欢
    • 1970-01-01
    • 2016-03-01
    • 1970-01-01
    • 2012-05-11
    • 1970-01-01
    • 1970-01-01
    • 2014-01-20
    • 2011-12-08
    相关资源
    最近更新 更多