winapi entry point



  • Hi,

    mir geht es hier besonders um die weiterverarbeitung von startparametern
    mit winapi.

    Bei "normalem" C:

    int main(int argc, char* argv[])
    

    Hier kann man (meiner meinung nach) sehr gut mit startparametern arbeiten.
    argc gibt an wie viele startparameter übergeben wurden, und diese müssen
    dann nur noch ausgelesen werden.

    Im gegensatz dazu winapi:

    int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, char* szCmdLine, int iCmdShow)
    

    Alle startparameter stehen sind hintereinander weg aufgelistet, getrennt nur durch anführungszeichen. Das macht das weiterverarbeiten sehr schwer, da man zu anfang
    weder weiß wie viele startparameter übergeben wurden, noch kann man sie vernünftig auslesen. Mann muss sie erstmal trennen, alle anführungszeichen usw. entfernen und dann erst kann man damit weiterarbeiten.

    Soll das so oder habe ich da was übersehen? Denn so ist das ein totales geraffel 😞



  • Wenn dein Projekt Unicode-fähig ist:

    GetCommandLineW() + CommandLineToArgvW



  • Es gibt dort auch __argc und *__argv[], ich weiss nicht wo die dokumentiert sind. Sie sind auch nirgends bei der Übergabe als Parameter zu sehen, aber sie sind da und man kann sie wie unter

    int main(int argc, char* argv[])
    

    verwenden



  • Mad*Max schrieb:

    Es gibt dort auch __argc und *__argv[], ich weiss nicht wo die dokumentiert sind. Sie sind auch nirgends bei der Übergabe als Parameter zu sehen, aber sie sind da und man kann sie wie unter

    int main(int argc, char* argv[])
    

    verwenden

    Super, damit ist das doch gleich vieeel angenehmer thx 🙂


Anmelden zum Antworten