Parameter einer Funktion ermitteln?



  • Guten Tag

    Wisst ihr vielleicht wie man die Parameter einer Funktion ermitteln kann?
    Wozu?:
    Bei einem bestimmten Spiel , kann man den Client nicht einfach per Doppelklick starten ( Fehlermeldung : Invalid Parameters) , sondern man muss
    den Launcher starten und der übergibt wahrschrinlich dem Client die nötigen Parameter.Und wie kann ich diese Parameter herrausfinden?

    Dankeschön.


  • Mod

    Indem Du ein Programm schreibst, dass einfach alle argv Elemente ausgibt und dieses Programm so nennst wie der Launcher es erwartet.



  • Den Dateinamen des Spieles umbenennen und eine eigene Anwendung mit dem Namen dieser Datei in den Ordner kopieren.
    Der Code kann recht simpel sein:

    int main(int argc, char** argv)
    {
        for(int i=0;i<argc;++i)
            std::cout << argv[i] << '\n';
    }
    

    Und anschließend den Launcher starten und die Parameter auswerten.



  • So ich hab nun die Parameter.
    Spiel.exe
    -rc:eu
    -lac:ger
    -auth_server_ip:195.122.162.94

    Wie kann ich nun die echte Spiel.exe mit diesen Parametern starten?
    Ein Beispielcode wäre ganz nett.

    Danke für die Hilfe.



  • Start->Ausführen und das da reinschreiben? Oder per Programm und CreateProcess.



  • SG1 schrieb:

    Start->Ausführen und das da reinschreiben? Oder per Programm und CreateProcess.

    Ich habs per Verknüpfung gemacht.

    "C:\Program Files\Firma\Spiel\Spiel.exe" -rc:eu -lac:ger -auth_server_ip:195.122.162.94

    Dann sagt er Invalid Parameter 😕


  • Mod

    Bist Du auch sicher, dass das Working Directory stimmt?



  • Martin Richter schrieb:

    Bist Du auch sicher, dass das Working Directory stimmt?

    Working Directory???



  • Vielleicht macht der Launcher noch etwas mehr als bloss die .exe mit ein paar Parametern aufrufen.
    Vielleicht setzt er Environment-Variablen, oder macht sonstwas was die .exe dann prüft.

    Bloss als Ersatz für ne Verknüpfung wird der Hersteller den Launcher vermutlich nicht geschrieben haben. Und es wäre nicht überraschend, wenn er irgendwelche Schutzmechanismen eingebaut hätte, damit man den Launcher nicht einfach so umgehen kann.


Log in to reply