5

我正在尝试运行.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();

使用此代码,程序会弹出一个控制台窗口一秒钟然后消失。如何获得它以使其永远不会显示?

4

4 回答 4

14

只需添加

p.StartInfo.CreateNoWindow=true;

不会出现控制台窗口弹出窗口

于 2013-08-02T18:22:45.383 回答
7
p.StartInfo.CreateNoWindow = true;
于 2013-08-02T18:22:46.917 回答
7

另一种选择是

p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden

要使用 ProcessWindowStyle.Hidden,该ProcessStartInfo.UseShellExecute属性必须为 false,但看起来您正在使用该设置,所以您应该很好。

于 2013-08-02T18:24:55.383 回答
4

CreateNoWindow 选项必须设置为 true

p.StartInfo.CreateNoWindow = true;
于 2013-08-02T18:22:57.600 回答