C#プログラムからコマンドラインを実行しようとしています。簡単にするために、私がしているのは「dir」コマンドを実行することだけです。次に、結果の各行を読み取ります。出力の最後に達すると、プログラムがハングします。何もしません。以下はプログラムです。
static void Main(string[] args)
{
ProcessStartInfo startInfo = new ProcessStartInfo("Cmd.exe");
startInfo.UseShellExecute = false;
startInfo.RedirectStandardInput = true;
startInfo.RedirectStandardOutput = true;
Process process = new Process();
process.StartInfo = startInfo;
process.Start();
List<string> output = new List<string>();
process.StandardInput.WriteLine("dir");
process.StandardInput.Flush();
while (process.StandardOutput.ReadLine() != null)
{
output.Add(process.StandardOutput.ReadLine());
}
process.WaitForExit();
process.Kill();
}