cmd aus einer Form heraus

dila71

Mitglied
Hallo,
ich habe folgendes Problem.
Ich muss folgendes tun:
1. aus einer Form eine Cmd öffnen.
2. in ein bestimmtes Verzeichnis wechseln
3. DORT ein Programm mit Parametern ausführen
4. (evtl. die Ausgabe umleiten)
5. wenn das externe Programm fertig ist das Ergebnis weiter verarbeiten.


Ich habe keinen Plan, wo ich da ansetzen muss.
eine cmd öffnen... ok, das geht mit Process.Start("cmd")
dann fangen aber die Schwieriglkeiten an.

Danke für jede Hilfe.

Dirk
 
Hi,

wieso denn von hinten durch die Brust is Auge?
Starte doch direkt dich richtige Anwendung mit Process.Start() (bzw. mit einer instanz von Process). Wenn ich mich recht entsinn, kannst du so auch die Rückgabe abfangen.
Wenn du den Prozess startest, kannst du auch Parameter mit übergeben (Wenn du bei der cmd-Variante bleiben willst, wäre das der Pfad zu deiner Anwendung).
 
Danke für die Antwort.

Ich starte wie empfohlen aus meinem Programm das ein Komandozeilenprogramm. Nun will ich eine der folgenden Möglichkeiten implementieren.

a) Dafür sorgen, dass das sich öffnende cmd-Fenster des externen Programms sich nach Ende des Programs nicht schließt, so dass man die Ausgaben lesen kann.

oder
b) von vornherein verhindern, dass sich ein cmd-Fenster öffnet, die Ausgabe umleiten und selber ausgeben. Das Umleiten und Ausgeben bekomm ich auch hin aber nicht das Verhindern des Fensteröffnens.

Vom Namen her hatte ich :
Code:
ProcessStartInfo v_prcInfo = new ProcessStartInfo();
v_prcInfo.CreateNoWindow = true;
im Auge aber das bringt nichts.

Danke für jegliche Hilfe
Dirk
 
Zuletzt bearbeitet:
Falls mal jemand anders danach sucht, beantworte ich meine Frage selber:
Ich habe die erste Möglichkeit gewählt: Offenlassen des Fensters.

Code:
ProcessStartInfo v_prcInfo = new ProcessStartInfo();
v_prcInfo.FileName = "cmd";
v_prcInfo.Arguments = "/k auszufürendesProgramm parameterDesProgramms", 
Process v_myProcess = Process.Start( v_prcInfo );

Leider habe ich keine Möglichkeit gefunden, dieses auch für den eigentlichen Programmaufruf zu bewerkstelligen, was wohl daran liegt, dass auszufürendesProgramm keinen Parameter für das Offenlassen des Fensters hat.


Tschau
Dirk.

p.s: Sollte es möglich sein, das Öffnen einer Shell (evtl. mit Gewalt ) durch ein beliebiges Programm zu verhindern und das Programm zu zwingen oberflächenlos zu arbeiten, so dass es Sinn macht, die Ein- und Ausgabe ins eigene Programm umzuleiten, bin ich weiterhin interessiert.
 
Hallo dila71!
dila71 hat gesagt.:
p.s: Sollte es möglich sein, das Öffnen einer Shell (evtl. mit Gewalt ) durch ein beliebiges Programm zu verhindern und das Programm zu zwingen oberflächenlos zu arbeiten, so dass es Sinn macht, die Ein- und Ausgabe ins eigene Programm umzuleiten, bin ich weiterhin interessiert.
Na dann schau mal hier hienein:
[thread=218898]StartInfo RedirectStandardOutput - Thread[/thread]

MfG, cosmo
 

Neue Beiträge

Zurück