Ga naar inhoud

[C++] WinMain and command line arguments


Aanbevolen berichten

Hoi, Ik ben een programma aan het maken dat moet kunnen draaien op Windows 2000/XP, maar ook 98/SE/ME. Onder 2000/XP maak ik gebruik van de CommandLineToArgvW API om een argc/argv paartje te krijgen. In 98/SE/ME is deze API helaas niet beschikbaar en dus zoek ik een andere manier om een argc/argv paartje te krijgen. Heeft iemand suggesties? - Mark
Link naar reactie
Snap je probleem niet helemaal. WinMain heeft toch al een parameter [b:80512e17e8]lpCmdLine[/b:80512e17e8] die de commandline bevat. Het volgende komt uit lcc-win32: [code:1:80512e17e8] int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) { } [/code:1:80512e17e8]Even doorheen lopen met een loopje en je hebt al je argumenten.
Link naar reactie
Hoi, Als ik het programma activeer als: core.exe -a TestModule.dll -o readfile Dan staat in de lpCmdLine van WinMain: lpCmdLine = "-a TestModule.dll -o readfile" Terwijl een argc/argv paartje dit zou hebben: argc = 5 argv[0] = "core.exe" argv[1] = "-a" argv[2] = "TestModule.dll" argv[3] = "-o" argv[4] = "readfile" Dit laatste vind ik makkelijker werken, want daar kun je makkelijk met een lusje doorheen gaan: [code:1:40673cdf16] for( int i=1; i<argc; i++ ) { // ... } [/code:1:40673cdf16] Nu doe ik dat door gebruik te maken van: [code:1:40673cdf16] int argc; wchar_t **argv = CommandLineToArgv( GetCommandLine(), &argc ); if( argv == NULL ) return 0; [/code:1:40673cdf16] Dit werkt echter alleen in Windows 2000/XP... - Mark
Link naar reactie
[quote:dc2c5d052f="Wim Sturkenboom"]Uiteraard is een ingebakken functie makkelijker. Maar als de functie niet bestaat, bestaat deze niet en moet je 'm zelf schrijven (lijkt me).[/quote:dc2c5d052f] Tenzij iemand anders hetzelfde heeft willen doen en zijn implementatie wil delen. Maar ik denk inderdaad dat er niets anders op zit... Toch nog hartstikke bedankt voor je medewerking...
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...