我想运行一个将输出文件的控制台应用程序.
我使用以下代码:
Process barProcess = Process.Start("bar.exe",@"C:\foo.txt");
当这运行时,出现控制台窗口.我想隐藏控制台窗口,以免用户看到它.
这可能吗?正在使用Process.Start启动另一个控制台应用程序的最佳方式?
解决方法
Process p = new Process(); StreamReader sr; StreamReader se; StreamWriter sw; ProcessStartInfo psi = new ProcessStartInfo(@"bar.exe"); psi.UseShellExecute = false; psi.RedirectStandardOutput = true; psi.RedirectStandardError = true; psi.RedirectStandardInput = true; psi.CreateNoWindow = true; p.StartInfo = psi; p.Start();
这将启动子进程,而不显示控制台窗口,并允许捕获StandardOutput等.