即使在ProcessWindowStyle.Hidden之后,控制台窗口仍然会弹出;

时间:2010-08-16 22:26:34

标签: c# process console-application invisible

我必须从我的Windows应用程序运行控制台应用程序。我想运行的控制台应用程序是我的应用程序中的嵌入式资源,我这样称呼它:

// Run the updater and grab its output
Process Updater = new Process();
Updater.StartInfo.FileName = "C:\\tmp\\tmp.exe";
Updater.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
Updater.StartInfo.UseShellExecute = false;
Updater.StartInfo.RedirectStandardOutput = true;
Updater.Start();
string UpdaterOutput = Updater.StandardOutput.ReadToEnd();
Updater.WaitForExit();

它提取精细,它运行良好,它也完全抓住它的输出...但我仍然可以看到控制台窗口在运行时快速打开。我知道控制台弹出来自此应用程序,因为控制台标题为C:\tmp\tmp.exe。是否有任何完全失败的方法来隐藏控制台应用程序?我认为使用ProcessWindowStyle.Hidden会这样做,但显然不是。

感谢。

1 个答案:

答案 0 :(得分:16)

ProcessStartInfo.CreateNoWindow属性设置为true