我正在使用ffmpeg编译video,而且我想阻止它在执行操作时显示控制台。
以下是我如何启动ffmpeg:
ProcessStartInfo si = new ProcessStartInfo(); si.Arguments = string.Format("-y -loop 1 -t " + DucationToString(frameDuration) + " -r 25 -f image2 -i \"{0}\" \"{1}\"", item.Value, otpt); si.FileName = "ffmpeg"; si.UseShellExecute = false; Process.Start(si).WaitForExit();
无论我在ProcessStartInfo
尝试的设置如何,控制台总是显示出来。
如何防止在创buildsubprocess时显示控制台?
你应该尝试使用
ProcessStartInfo si = new ProcessStartInfo(); si.WindowStyle = ProcessWindowStyle.Hidden; si.CreateNoWindow = true; si.UseShellExecute = false;
MSDN参考
将ProcessStartInfo.CreateNoWindow
设置为true
。
请注意 :
要使用ProcessWindowStyle.Hidden
或ProcessStartInfo.CreateNoWindow
, ProcessStartInfo.UseShellExecute
属性必须为false
。
你有没有在你的代码中加入这个
si.CreateNoWindow = true; si.RedirectStandardOutput = true;