アプリケーションがコンソールに何かを書き込もうとしているときに、イベントをキャプチャする必要があります。
Console.WriteLine("Any text");
イベントまたはメソッドでコンソール出力に送信されたテキストを取得することは可能ですか?
アプリケーションがコンソールに何かを書き込もうとしているときに、イベントをキャプチャする必要があります。
Console.WriteLine("Any text");
イベントまたはメソッドでコンソール出力に送信されたテキストを取得することは可能ですか?
1 つの方法は、この記事に示すように、新しいストリーム オーバーライドを作成することです。
http://mel-green.com/2010/01/progressstream/
次に、これをコンソールが書き込むストリームとして設定する必要があります。
MemoryStream ms = new MemoryStream();
ProgressStream progressStream = new ProgressStream(ms);
Console.SetOut(new StreamWriter(progressStream));
次に、進行状況ストリームのイベントを使用して、いつ書き込まれるかを確認します。
これはあなたに役立つかもしれません:
using System;
using System.IO;
namespace nsStreams
{
public class Redirect
{
static public void Main ()
{
FileStream ostrm;
StreamWriter writer;
TextWriter oldOut = Console.Out;
try
{
ostrm = new FileStream ("./Target.txt", FileMode.OpenOrCreate, FileAccess.Write);
writer = new StreamWriter (ostrm);
}
catch (Exception e)
{
Console.WriteLine (e.Message);
return;
}
Console.SetOut (writer);
Console.SetOut (oldOut);
writer.Close();
ostrm.Close();
Console.WriteLine ("Done");
}
}
}