2009-05-23 14 views
2

Ist es möglich, eine Konsolenanwendung auszuführen und den ausgegebenen Inhalt als Zeichenfolge in C# zurückzugeben?C# So lesen Sie die Konsolenausgabe mit Parametern

Ich möchte in der Lage sein, Parameter zu verwenden, wenn die Konsolenanwendung ausgeführt wird:

c:\files\app.exe -a 1 -b 2 -c 3 

Antwort

3

Dies ist nicht die klarste Sache ist, die ich heute gelesen habe, aber ich kann nur annehmen, dass Sie Laichen einen Prozess (mit ?) und wollen es in Ihr Programm zurückgeben.

Wenn ja, ist wahrscheinlich Process.StandardOutput Sie suchen. Zum Beispiel:

System.Diagnostics.ProcessStartInfo startInfo = 
    new System.Diagnostics.ProcessStartInfo(@"c:\files\app.exe",@"-a 1 -b 2 -c 3"); 
startInfo.UseShellExecute = false; 
startInfo.RedirectStandardOutput = true; 
Process p = Process.Start(startInfo); 
string output = p.StandardOutput.ReadToEnd(); 
p.WaitForExit(); 
+0

i wurde immer Fehler von diesem einen sagen, dass neue Verfahren keinen Konstruktor hat, der nur 1 param –

+0

Tut mir leid, dass akzeptiert. Behoben. –

+0

Meine Anwendung kann ihr Fenster erst anzeigen, wenn der gestartete Prozess ausgeführt wird. Als ich es dann getötet habe, zeigte meine Anwendung ihr Fenster mit der aufgenommenen Ausgabe. Ich verwende diesen Code genau wie bei einer weiteren Eigenschaft - CreateNoWindow. Wie zeige ich meine Bewerbung "normal" an? – Laserson

Verwandte Themen