我需要从我的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
会实现,但显然并不行。
谢谢。