3

動画のコンパイルに 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();

で試した設定に関係なくProcessStartInfo、コンソールは常に表示されます。

子プロセスの作成時にコンソールが表示されないようにするにはどうすればよいですか?

4

3 に答える 3

6

使ってみるべき

ProcessStartInfo si = new ProcessStartInfo();
si.WindowStyle = ProcessWindowStyle.Hidden;
si.CreateNoWindow = true;
si.UseShellExecute = false;

MSDN 参照

于 2012-07-18T10:02:47.927 に答える
2

に設定ProcessStartInfo.CreateNoWindowtrueます。

次の点に注意してください。

ProcessWindowStyle.Hiddenまたはプロパティを使用するProcessStartInfo.CreateNoWindowには、 である必要があります。ProcessStartInfo.UseShellExecutefalse

于 2012-07-18T10:07:32.320 に答える
1

これをコードに追加しましたか

    si.CreateNoWindow = true;
    si.RedirectStandardOutput = true;
于 2012-07-18T10:04:21.437 に答える