Console öffnen und Kommando ausführen

Nagilo

Mitglied
Hallo,

folgendes Problem. Ich habe eine System.Windows.Forms Anwendung. Aus ihr heraus muss ich ein anderes Tool per Kommandozeile starten. Dieses Tool generiert Output in der Console. Demnach muss die Console nach dem Aufruf des Tools geöffnet bleiben, damit der User den Output noch lesen kann.

Wie geht das am elegantesten?

Über StartProcess kann ich zwar die cmd starten aber ihr nicht sagen, welchen Befehl sie jetzt ausführen soll.

Danke für jeden Hinweis.

Matthias
 
ProcessStartInfo ist das was du willst. Der Klasse kannst du Argumente übergeben (also das was gestartet werden kann).

Zur Shell gibt es einen Parameter - ich weiß ich jetzt nicht auswendig, ich glaub /c - mit der die Shell offen bleibt und sich nach der Ausführung nicht automatisch schließt. Einfach die Hilfe zu cmd.exe anzeigen lassen.
 
Danke erstmal für die Links, haben schon gut geholfen. Nur hab ich jetzt das Problem, daß offensichtlich mein String nicht korrekt übernommen/übergeben wird. Der string lautet :

(die Anführungsstriche sind im String enthalten!)

"C:\Program Files\MAXON\Cinema 4d R9\Cinema 4d.exe"

Komischerweise macht er das nicht wenn ich
start /b /wait "parentconsole"

voranstelle.
Hat jemand eine Idee woran das liegen könnte ? (start /b /wait "parentconsole" soll nur als optionaler Parameter vorhanden sein, andernfalls soll sich eine neue Konsole öffnen)
 
Zurück