Empêcher le processus enfant d’afficher une fenêtre shell dans c #

J’utilise ffmpeg pour comstackr des vidéos et j’aimerais l’empêcher d’afficher une console lors de l’exécution d’actions.

Voici comment je commence ffmpeg:

ProcessStartInfo si = new ProcessStartInfo(); si.Arguments = ssortingng.Format("-y -loop 1 -t " + DucationToSsortingng(frameDuration) + " -r 25 -f image2 -i \"{0}\" \"{1}\"", item.Value, otpt); si.FileName = "ffmpeg"; si.UseShellExecute = false; Process.Start(si).WaitForExit(); 

ProcessStartInfo les parameters que j’essaie dans ProcessStartInfo , la console s’affiche toujours.

Comment puis-je empêcher la console d’être affichée lors de la création d’un processus enfant?

Vous devriez essayer d’utiliser

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

MSDN réfs

Définissez ProcessStartInfo.CreateNoWindow sur true .

Notez que:

Pour utiliser ProcessWindowStyle.Hidden ou ProcessStartInfo.CreateNoWindow la propriété ProcessStartInfo.UseShellExecute doit être false .

Avez-vous ajouté cela dans votre code

  si.CreateNoWindow = true; si.RedirectStandardOutput = true;