PHP Code:
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );
TCHAR buf[MAX_PATH];
GetCurrentDirectory(MAX_PATH,buf);
TCHAR path[MAX_PATH] = L"\"";
_tcscat_s(path,buf);
_tcscat_s(path,_T("\\S4Client.exe"));
TCHAR param1[] = L" -rc:eu -lac:eng -auth_server_ip:217.110.102.94\"";
TCHAR param2[] =L" -rc:eu -lac:ger -auth_server_ip:217.110.102.94\"";
TCHAR path2[MAX_PATH];
_tcscpy(path2,path);
_tcscat_s(path,L"\"");
if(lac == 1)
{
_tcscat_s(path2,param1);
if(!CreateProcess(path,path2,NULL,NULL,FALSE,0,NULL,NULL,&si,&pi))
{
CString str;
str.Format( L"Error: %i", ::GetLastError());
MessageBox( str, L"Error!", MB_OK );
}
}
else if(lac == 2)
{
_tcscat_s(path2,param2);
if(!CreateProcess(path,path2,NULL,NULL,FALSE,0,NULL,NULL,&si,&pi))
{
CString str;
str.Format( L"Error: %i", ::GetLastError());
MessageBox( str, L"Error!", MB_OK );
}
}
else
AfxMessageBox(_T("Keine Sprache gewählt./ No Language selected!"));
AfxMessageBox(path);
AfxMessageBox(path2);
So hi erstmal und zu meinem Problem^^:
Der Folgende Code soll ein kleiner Launcher für das Spiel S4-League werden.
Die Variable lac ist die Wahl der Sprache und bekommt mit 2 Radiobuttons ihren Wert.
Der Client erwartet die Parameter:
-rc: (für uns nur eu)
-lac: (sprache; in meinem launcher nur eng und ger)
-auth_server_ip: (die ip des loginservers die meines wissens für eu gleich ist, wenn nicht, kann ich sie ja noch ändern; das problem tritt schon vorher auf!)
So ich habe schon etliches Probiert! Seit 16 Uhr bin ich am googlen und umschreiben, aber ich kriegs nicht gebacken.
Mal ist der Fehlercode 123 (heißt Fehler in der Aufrufsyntax; verwirrt mich ziemlich, denn wenn ich den ersten Parameter von CreateProcess weglasse, kommt 745 (bin mir jetzt nicht mehr sicher), obwohl bei beiden Möglichkeiten unten von den zwei DebugMessageBoxen der selbe Pfad ausgegeben wird!), mal 2 und eben auch mal 745.
Ich bin echt am Verzweifeln und finde einfach nicht die Lösung.
Der Pfad ist immer richtig [habe es einmal mit absolutem Pfad probiert und einmal mit relativem (beim 1. u. 2. Parameter nur S4Client.exe (beim zweiten noch die Parameter)) und auch einmal halb halb (beim 1. relativ beim 2. absolut)]!
Es will einfach nicht klappen.
Könnte mir einer dabei helfen?
Danke im Voraus Sm!th