anoniem Geplaatst: 5 juni 2003 Delen Geplaatst: 5 juni 2003 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 Quote Link naar reactie
anoniem Geplaatst: 5 juni 2003 Auteur Delen Geplaatst: 5 juni 2003 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. Quote Link naar reactie
anoniem Geplaatst: 5 juni 2003 Auteur Delen Geplaatst: 5 juni 2003 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 Quote Link naar reactie
anoniem Geplaatst: 6 juni 2003 Auteur Delen Geplaatst: 6 juni 2003 Uiteraard is een ingebakken functie makkelijker. Maar als de functie niet bestaat, bestaat deze niet en moet je 'm zelf schrijven (lijkt me). Quote Link naar reactie
anoniem Geplaatst: 6 juni 2003 Auteur Delen Geplaatst: 6 juni 2003 [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... Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen