我正在尝试在没有弹出控制台窗口的情况下运行.bat
文件。
我正在使用此代码:
Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "file.bat";
p.Start();
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();
使用此代码,程序会弹出控制台窗口一秒钟并消失。如何获得它永远不会显示?
答案 0 :(得分:12)
只需添加
p.StartInfo.CreateNoWindow=true;
控制台窗口弹出窗口不会出现
答案 1 :(得分:6)
p.StartInfo.CreateNoWindow = true;
答案 2 :(得分:5)
另一种选择是
p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
要使用ProcessWindowStyle.Hidden,ProcessStartInfo.UseShellExecute
属性必须为false,但看起来您正在使用该设置,因此您应该很好。
答案 3 :(得分:4)
CreateNoWindow选项必须设置为true
p.StartInfo.CreateNoWindow = true;