Possible Duplicate:
Hide Command Window in C# Application




在控制台应用程序中,我想运行cmd命令,但是正在创建一个新窗口,为什么?

 Process process = new Process();
 ProcessStartInfo startInfo = new ProcessStartInfo();
 startInfo.WindowStyle = ProcessWindowStyle.Hidden;
 startInfo.CreateNoWindow = true;
 startInfo.UseShellExecute = false;
 startInfo.FileName = "cmd.exe";
 startInfo.WorkingDirectory = @"C:\m_f";
 startInfo.Arguments = "/c START _creator.bat";
 process.StartInfo = startInfo;
 process.Start();


编辑

我不得不将一些代码更改为:

 startInfo.FileName = @"C:\m_f\_creator.bat";
 startInfo.WorkingDirectory = @"C:\m_f\";
 startInfo.Arguments = "some_args";


现在可以了

最佳答案

start生成一个新窗口,而不管父外壳是否有一个窗口。

运行批处理文件cmd /c foo.cmd就足够了,甚至foo.cmd也足够。

关于c# - C#“新进程”窗口不隐藏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11179221/

10-17 00:47