Aus Anwendung Konsolenprogramm ausführen und Rückgabe verwenden

multimolti

Erfahrenes Mitglied
Hallo!

Ich wollte heute mal etwas ausprobieren, dazu muss ich aus meiner WindowsForm eine andere Konsolenanwendung ausführen und deren Rückgabewert verwenden.
Der Rückgabewert wird bei Konsolenanwendungen doch in den normalen OutputStream geschrieben, oder? Also alles, was ich nachher auf der Konsole lesen kann?

Daher habe ich mir diese Funktion hier gebastelt/organisiert:

Code:
        private string RunProcess(string path, string arguments)
        {
            ProcessStartInfo psi = new ProcessStartInfo(path, arguments);

            psi.RedirectStandardOutput = true;
            //psi.WindowStyle = ProcessWindowStyle.Hidden;
            psi.UseShellExecute = false;
            
            
            Process listFiles;
            listFiles = Process.Start(psi);
            StreamReader myOutput = listFiles.StandardOutput;
            listFiles.WaitForExit(2000);
            if (listFiles.HasExited)
            {
                return myOutput.ReadToEnd();
            }
            else
            {
                throw new NotImplementedException();
            }
        }

Aber ich bekomme immer keinen Rückgabewert! Also das return gibt immer "" zurück!
 
Zurück