2012-04-03 14 views
0

Ich habe ein .exe-Programm (Konsole App) in .net geschrieben.läuft. NET-Konsolen-Anwendungen programmatisch

  1. muss ich es Eingänge
  2. auszuführen Bereitstellung
  3. die Ausgänge als String Erhalten oder vorzugsweise als Strom.

Derzeit verwende ich System.Diagnostics Namespace und Process Klasse. Aber mit Namensraum für diesen Zweck scheint Dosent in Ordnung zu sein.

Gibt es irgendeine Methode, mit der ich das gleiche effizienter machen kann ?. Wie Reflektion verwenden, um die Methode Main() zu finden und sie dann aufzurufen.

Antwort

3

Die Process Klasse ist genau das richtige Werkzeug für das, was Sie wollen. Den Namen des Namespace nicht stören - benutzen Sie einfach die Process Klasse.

+0

thankx. Ich muss diesen Prozess auch in einer separaten App-Domäne ausführen. kann das mit diesem Namespace gemacht werden? –

+0

Erstens: Vergessen Sie den Namensraum! Dann lesen Sie bitte dies, um zu verstehen, was ein Namespace ist und warum es Ihnen überhaupt egal ist: http://msdn.microsoft.com/en-us/library/ms973231.aspx#assenamesp_topic5 –

+0

ok und für die Sekunde ? –

0

Völlig in Ordnung. System.Diagnostics ist nur ein Namespace.

Wenn weitere Informationen benötigt, können Sie navigate to this project für Motivation und sehen, wie Prozesse zu handhaben grammatisch oder diese Schnipsel aus VM found in here

   var startInfo = new ProcessStartInfo(FilePath) 
       { 
        WorkingDirectory = RootFolderPath, 
        Arguments = StartingArguments, 
        RedirectStandardOutput = true, 
        UseShellExecute = false, 
        CreateNoWindow = true 
       }; 
       ConsoleProcess = new Process {StartInfo = startInfo}; 

       ConsoleProcess.Start();