Bonjour à tous

Je suis actuellement en train de faire une application qui doit ouvrir une fenetre dos et envoyer une commande à un logiciel puis récupérer les données renvoyées.

Voici le code que j'utilise:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
proc.StartInfo.FileName = "E:\\Semestre6\\ScoopLive\\Encoder\\FFMPEG\\ffmpeg.exe";
        proc.StartInfo.Arguments = "-i testAVI.avi";
        proc.StartInfo.RedirectStandardOutput = true;
        proc.StartInfo.UseShellExecute = false;
 
        proc = System.Diagnostics.Process.Start(proc.StartInfo);
 
        string str = proc.StandardOutput.ReadToEnd();
 
        return str;
Mon probleme est le suivant:
1)Lorsque je tape dans une fenêtre dos les commandes qui précèdes la réponse du logiciel s'affiche dans la fenêtre msdos. Et lorsque je le lance à partir de mon code le retour est null, j'ai vérifié avec une autre ligne de commande - L (donne la version du logiciel) et là ma string contient bien les infos sur le logiciel.
Une dernière précision lorsque j'utilise une autre ligne de commande qui crée un nouveau fichier à partir d'un présent dans le même dossier que mon logiciel (ffmpeg) en la lançant sous msdos, ça la crée et quand je la lance avec mon logiciel ça ne la crée pas et ça ne me retourne rien.

Alors je me demande est ce que en passant par le code il ne peut pas trouver le fichier ou autre, je ne sais plus trop ou chercher.

2)Sinon j'aimerais savoir si il y a une façon plus simple de faire executer des commandes à un logiciel et de récupérer la réponse de celui-ci sous windows.