where's my command line?
I'm writing a program in MS Visual C++, using the MFC AppWizzard. I want to be able to pass a command line option to my program when I run it. How can I get to find out what command line the application was passed?
of Zen Hall
The API function GetCommandLine() will return a pointer to the command line.
If you have AppWizard generated application, look into your InitInstance () function, and you will see something like this
if (!ProcessShellCommand (cmdInfo))
>>> from MSDN help >>>
1. After being created in InitInstance, the CCommandLineInfo object is passed to ParseCommandLine.
2. ParseCommandLine then calls CCommandLineInfo::ParseParam repeatedly, once for each parameter.
3. ParseParam fills the CCommandLineInfo object, which is then passed to ProcessShellCommand.
4. ProcessShellCommand handles the command-line arguments and flags
If you want to process your own flags, you must derive a new class from CCommandLineInfo and override its ParseParam () function. There are some options like /p etc. which must be handled.
See CCommandLineInfo::ParseParam () in the help for more.