The 3rd param to WinMain provides the command line as an unprocessed string. While that may be useful for allowing you to cope with expansion of wildcards and what-not, is t
You can use CommandLineToArgvW() to convert to an argv-style array of Unicode strings. Unfortunately, there is no ANSI-string version. Also, beware that this does not set argv[argc] (i.e. the element after the last argument) to NULL.