Web lists-archives.com

Re: BUG: winmain GetCommandLine only returning program name and path with no arguments




On 2017-05-13 08:30, Mike Barry wrote:
> Below is a sample program that demonstrates that the GetCommandLine 
> function is not returning the command line arguments. I attached 
> cygcheck.out.
> 
> #include <windows.h>
> #include <stdio.h>
> 
> int WINAPI
> WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR szCmdLine, int sw) {
>         char* text = GetCommandLine();
>         printf("getcmdline: %s\n", text);
>         return 0;
> }
> 
> gcc test_wmain.c -o test
> 
> $ ./test hello world
> getcmdline: "C:\cygwin64\home\mbarry\game-repos\greenbeam\src\test.exe"

Cygwin program startup may have already taken care of the command line.

If you're using Cygwin, lose the MS cruft, and define a standard non-MS: 

int 
main( int argc, char **argv) {
...
}

and process the args with getopt as usual.
You could try Mingw or VS, but even there I believe you can use standard 
main(). 

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple