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