[英]Prevent child process from showing a shell window in c#
I'm using ffmpeg to compile videos, and I'd like to prevent it from displaying a console when performing actions. 我正在使用ffmpeg编译视频,我想阻止它在执行操作时显示控制台。
Here's how I start ffmpeg: 这是我开始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();
No matter the settings I try in ProcessStartInfo
, the console always shows up. 无论我在
ProcessStartInfo
尝试的设置,控制台始终显示。
How do I prevent the console from being shown when creating child process? 如何在创建子进程时阻止显示控制台?
Set ProcessStartInfo.CreateNoWindow
to true
. 将
ProcessStartInfo.CreateNoWindow
设置为true
。
Note that: 请注意 :
To use ProcessWindowStyle.Hidden
or ProcessStartInfo.CreateNoWindow
the ProcessStartInfo.UseShellExecute
property must be false
. 要使用
ProcessWindowStyle.Hidden
或ProcessStartInfo.CreateNoWindow
, ProcessStartInfo.UseShellExecute
属性必须为false
。
Have you added this in your code 您是否在代码中添加了此内容
si.CreateNoWindow = true;
si.RedirectStandardOutput = true;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.