Vladimir Prus wrote:
Just FYI to this thread in general. It's been a while since I've messed with WinMain and command lines, but if my memory serves me right (it was at a different place, so I don't have the code here), there's some additional whacky issues here. WinMain recieves the first arguments differently depending on how it is run: *) from MSVC debugger *) from a commandline *) by clicking on an shortcut icon *) by clicking in an explorer window
don't remember which is which, but one gives just the executable name, one gives the full path to the executable (seems like there's two variations on this, like one is quoted and one is not, don't remember the details), and it seems like there's one that doesn't give the executable at all.
The latter case is disturbing. If the program name is not passed, it will be hard to skip the first argv element. Does it ever happens when you have non-empty set of options?
Also, I _distinctly_ remember something very whacky when I used unicode, I don't remember the details, but the commandline arguments were a significant pain for a program built with unicode support using the unicode windows entry function. That still tastes bad in my mouth.
In fact, I'm not sure how to handle Unicode at all.
You may have a look at the MS runtime library sources, which are bundled with the development environments. Regards Hartmut