Archiv verlassen und diese Seite im Standarddesign anzeigen : C++ Hilfe bei .exe funktions aufruf
PlayEgoShooter
04.04.2010, 03:51
ich habe versucht eine .exe für einen l4d2 serverstarter in der header datei (form1.h)aufzurufen wie bekomme ich das mit einem c++string hin bzw. wie convertiere ich einen c++string in einen char*string ?
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
serverstart = "left4dead2.exe " + "-console -novid +sv_allow_lobby_connect_only 0 +sv_lan 1 +z_difficulty" + skg + " +map " + kampagne + map;//sgk =schwierigkeitsgrad
//hier müsste der aufruf .exe aufruf kommen "system(serverstart); bzw. die convertierung mit hinen
//oder eine funktion die gleich den c++ string verwendet
}
ich danke schonmal für eure antworten
Mach dir doch eine Batchdatei. Viel einfacher und erfüllt den Zweck.
Ein Char* String wird so initaliersiert:
char* stringname="INHALT";
Hoffe das Hilft dir weiter... ;)
Gruss
LP-Fan
PlayEgoShooter
04.04.2010, 15:48
an A.I. :
ich wollte halt eine windos form anwendung machen mit comboboxen zum auswählen eine batch datei habe ich bereits (Heruntergeladen)
an LP-Fan :
da kommt nur ne fehlermeldung trodsdem danke
error C2440: 'Initialisierung': 'System::String ^' kann nicht in 'char *' konvertiert werden
-simon
1mannlan
04.04.2010, 17:04
Nicht das ich mich jetzt sonderlich mit C++ auskenne eigentlich garnicht, aber in C# gibts da eine klasse die heißt Process.Start("Pfad","Parameter").
die gibts wohl in C++ auch:
http://msdn.microsoft.com/en-us/library/aa326952%28v=VS.71%29.aspx
Ins erste muss dann nur der Pfad zur datei, ins zweite die Parameter. Wichtig ist, das wenn du Parameter mit leerzeichen hast, diese in Anführungszeichen setzen musst, d.h. nicht die des Strings, sondern die, die an das zu Startende Programm übergeben werden:
z.B. würde dieser string hier:
String = " \"Mir gehts nicht so gut\"";
Etwa das hier ausgeben:
"Mir gehts nicht so gut"
Hoffe ich konnte helfen.
PlayEgoShooter
04.04.2010, 17:49
sry die funktion kennt der compiler irgendwie nicht
kartoffel
04.04.2010, 18:09
Wenn du versuchst ne WinForms-Anwendung zu schreiben wäre es schon sinnvoller, zu wissen, welchen Compiler du nutzt.
VC++ scheint es offenbar nicht zu sein, Process#Start ist nämlich standartmäßig dabei.
don-banane
04.04.2010, 18:10
Warum in ein Char array konvertieren?
String^ path = "l4d2.exe";
String^ parameters = String::Concat("-console -novid +sv_allow_lobby_connect_only 0 +sv_lan 1 +z_difficulty", skg, " +map ", kampagne, map);
System::Diagnostics::Process::Start(path, parameters);
Die Funktion gibts schon, musst du nur im richtigen Namespace aufrufen.
PlayEgoShooter
04.04.2010, 19:30
sry manchmal denke ich nicht weit genug
danke es funktioniert
ich wolte nich fragen ob jemad interesse am fertigen programm hat
Edit:
weil ich nicht weiß wo man sowas hochladen kann ^^
Powered by vBulletin® Version 4.2.2 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.