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?

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top