私はプロセスを生成するいくつかのコードを持っています。実行されているファイルはJavaアプリケーションであり、私の意図はそこから出力を読み込むことです。C#Process + Backgroundworker&timer error
Start
を呼び出すと、そのポイントの後に出力ストリームを読み取ることができないという問題があります。私がテストし、Start
を呼び出した後にConsole.Beep
に電話すると、ビープ音が鳴ります - 明らかにこれらの行が実行されています。
Control.CheckForIllegalCrossThreadCalls = false;
Process java = new Process();
java.StartInfo.FileName = "java";
java.StartInfo.Arguments = "-Xms1024M -Xmx1024M -jar craftbukkit-0.0.1-SNAPSHOT.jar nogui";
java.StartInfo.RedirectStandardOutput = true;
java.StartInfo.UseShellExecute = false;
java.Start();
System.Console.Beep();
System.Console.Write("hejsan");
StreamReader Reader = java.StandardOutput;
txtLog.Text = Convert.ToString(System.Console.Read());
broadcast(Convert.ToString(System.Console.Read()), "[Server]", false);
なぜ出力ストリームから読み込むことができないのですか?
問題を定義してください。これは、あまり作成されていない質問です。 –
私はもう一度言って、java.Start()の後ではSystem.Console.ReadLine()、Read()、anythign! – redpois0n
ストリームを読み取る前に、処理が終了するまで待つ必要があります。 –