.exe Datei in Code ausfuehren?
-
Hallo,
ich habe folgendes Problem, ich habe ein Programm mit C++ und OpenGl geschrieben das in sich geschlossen funktioniert und dem man, um es ausfuehren zu koennen, eine Textdatei als Konfigurationsdatei uebergeben muss.
Um diese nervigen Konfigurationsdateien einfacher handhaben zu koennen habe ich nun mit Visual Studio und Windows Forms eine kleine Anwendung geschrieben, die mich meine Paramater einfach eingeben laesst und mir dann die Konfigurationsdatei schreibt.
Der Clou waere aber nun, wenn ich auch einfach aus meiner kleinen Konfigurationsanwendung heraus mit der erzeugten Konfigdatei die .exe zusammen mit dem Parameter Konfigdatei einfach mit einem Buttonklick ausfuehren koennte.
Ich wuerde also gerne was der Art machen:
"Wenn button_ausfuehren gedrueckt, starte Anwendung.exe mit Konfigdatei.txt als Parameter!"
Ich bin leider kein Informatiker und wuerde mich sehr ueber einen Tip von Euch freuen.
-
Benutze System::Diagnostics::Process::Start(..)
Simon
-
Hallo theta,
kannst Du mir nochmal mit etwas mehr Information unter die Arme greifen, habe folgendes versucht:
//start wave.exe private: System::Void button_startWave_Click(System::Object^ sender, System::EventArgs^ e) { System::Diagnostics::Process::Start("D:\Dokumente und Einstellungen\swanner\Desktop\WaveEXE\WV.exe"); }
Und auch zwei drei andere Beispiele aus der Reference, aber leider sagt er immer, dass das System die angegeben Datei nicht finden kann. Ausserdem muesste ich der WV.exe ja auch noch die Konfigdatei.txt uebergeben. Wie wuerde ich das denn machen?
Danke schonmal im Voraus falls Du nochmal schreibst!
-
Sorrz war wohl einProblem mit den Slashe, mit "\" tut's. Aber trotzdem wuerde mich jetzt noch interessieren wie ich ihm eine andere Datei als Parameter uebergebe!
Gruss
-
-
Hallo,
einfach die Start-Funktion anwenden, die zwei Argumente erwartet:
System::Diagnostics::Process::Start("D:\Dokumente und Einstellungen\swanner\Desktop\WaveEXE\WV.exe", "Konfigdatei.txt");
MfG,
Probe-Nutzer
-
Hallo, das dachte ich auch, aber da passiert nix!
Also weder das:
//start wave.exe private: System::Void button_startWave_Click(System::Object^ sender, System::EventArgs^ e) { System::Diagnostics::Process::Start("D:\\Dokumente und Einstellungen\\Desktop\\WaveEXE\\WV.exe","test.cfg"); } };
noch das:
//start wave.exe private: System::Void button_startWave_Click(System::Object^ sender, System::EventArgs^ e) { System::Diagnostics::Process::Start("D:\\Dokumente und Einstellungen\\Desktop\\WaveEXE\\WV.exe","D:\\Dokumente und Einstellungen\\Desktop\\WaveEXE\\test.cfg"); } };
funzt.
-
In der Kommandozeile klappt es einfach durch:
D:\\Dokumente und Einstellungen\\Desktop\\WaveEXE\\WV test.cfg
Warum dann nicht mit Process::Start() ?
-
Weil die Pfade wahrscheinlich falsch sind
-
Ja wahrscheinlich hast Du recht, habe gerade das Ganze nochmal mit einem anderen schnellen Beispielprogramm versucht und es hat funktioniert. Habe aber keine Ahnung was an den Pfaden nicht stimmen soll, die sind doch direkt aus den Ordnern kopiert!
Trotzdem Danke erstmal