C # - Comment appeler un exe ajouté à la solution du projet
-
11-07-2019 - |
Question
J'ai donc ajouté un fichier EXE à la solution de mon projet. L’EXE fait des trucs et sort les données via stdout. Je veux capturer la sortie, mais plus important encore, comment puis-je exécuter ce fichier EXE dans mon programme?
La solution
Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "myExec.exe";
p.Start();
Autres conseils
Process.Start
. Pour capturer stdout, vous devez le rediriger via ProcessStartInfo
. Vous trouverez un exemple sur MSDN . Assurez-vous également que le fichier exe est marqué pour être copié dans le répertoire de sortie (bin / release, etc.).
Si vous avez besoin de lire à la fois stdout et stderr, cela devient délicat (avec une implémentation naïve, il y a un risque de blocage en raison de la mise en mémoire tampon, etc.) ... voici un exemple d'utilisation de threads de travail.