我必须从我的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
会这样做,但显然不是。
感谢。