1
Windowsフォームアプリケーションからコンソールアプリケーションを開こうとしています。私は以下のコードを使用しています。コードはConsoleアプリケーションを開きますが、何も表示しません(黒い画面のみを表示しています)。しかし、私は正常にStandardOutputを使用してコンソール出力を得ることができます。WinフォームでC#コードを使用してコンソールアプリケーションを開く
Process proc = new Process();
proc.StartInfo.CreateNoWindow = false;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.RedirectStandardInput = true;
proc.StartInfo.FileName = @"C:\Program Filex86)\ConsoleTool.exe";
proc.Start();
StreamWriter sw = proc.StandardInput;
sw.WriteLine("init");
txtOutput.Text += proc.StandardOutput.ReadToEnd().Replace("\n", "\r\n");
txtOutput.Text += proc.StandardError.ReadToEnd().Replace("\n", "\r\n");
proc.WaitForExit();
コードを使用して開いたコンソールウィンドウで表示を取得するにはどうすればよいですか?
あなたのパスを確認してください。それに ')'があります。それはおそらくあなたがブラックスクリーンを得る理由!!!!! 1 –
あなたは[StandardOutput]をリダイレクトしています(https://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.redirectstandardoutput() v = .110).aspx)ので、コンソールのウィンドウに情報が表示されることはありません。手動で手動で行う必要があります。http://stackoverflow.com/q/8787123/479512およびhttp://stackoverflow.com/questions/2547428/net-console-textwriter-that-understands-indent-unindent- indentlevel –
@ Markは、コンソールに表示してそのデータをWinフォームアプリケーションに取り込む方法はありますか? –