2012-04-02 9 views
2

VB.NETでC#でこの問題が発生しましたが、このプロジェクトではバッチファイルを実行する必要があります。vb.Netバッチファイルを実行して出力をストリーミングする

System.Diagnostics.Process proc = new System.Diagnostics.Process(); 
proc.EnableRaisingEvents = false 
proc.StartInfo.FileName = "C:\\Users\\jwoow\\Desktop\\Server\\run.bat"; 
proc.Start().ToString(); 

が、それは移動しません。しかし、私の問題は、私は今、このコードは何の問題ファイルを開かない、テキストボックスに、CMDウィンドウで、バッチファイルに現れるすべてを表示する必要がありますテキストボックスにオーバーコード、このコードは最後に表示された行を転送ではなく、バッチファイルの全体の事、それはまた、CMDウィンドウを閉じ、私はそれが開いたままする必要があります:

Process p = new Process(); 
p.StartInfo.UseShellExecute = false; 
p.StartInfo.RedirectStandardOutput = true; 
p.StartInfo.FileName = "C:\\Users/jwoow/Desktop/Server/run.bat"; 
//this line hides cmd window 
//p.StartInfo.CreateNoWindow = true; 
p.Start(); 
StreamReader output = p.StandardOutput; 
while (output.EndOfStream == false) 
{ 
    string line = output.ReadLine(); 
    this.RunResults.Text = line; 
} 

いや、O、バッチファイルはサーバ用で、そのユーザのamtを表示し(2分更新)、ユーザが取ったさまざまなイベントを表示します。常に更新されています。

答えて

0

実行後にウィンドウを開いたままにするには、「一時停止」コマンドを使用します。画面に出力されるテキストは、使用しているプログラムごとに異なります。ほとんどのプログラムでは、指定したパラメータに基づいて異なる出力を表示できます。

0

クラスに入れてコードを呼び出します。最後のステップには、2分間の休止を呼び出してから、2分間の遅延の終了時に最初にループバックさせるタイマーがあります。

関連する問題