C#新进程窗口不隐藏

时间:2012-06-24 16:38:02

标签: c# process

  

可能重复:
  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";

现在可行了

1 个答案:

答案 0 :(得分:3)

无论父shell是否有窗口,

start都会产生一个新窗口。

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