MFC程序命令行参数在哪里处理?

时间:2021-07-06 14:32:17
MFC APPWIZARD新建一程序,想实现对命令行参数的处理,可惜手头没有资料,脑袋一片空白。大家帮帮我这个白吃吧。

3 个解决方案

#1


对命令行的处理可以在 InitInstance()函数中,
  如下一段是处理命令行的部分:
  // Parse command line for standard shell commands, DDE, file open

CCommandLineInfo cmdInfo;
cmdInfo.m_nShellCommand = CCommandLineInfo::FileOpen;
cmdInfo.m_strFileName = sWorkDir+"\\default.set";
ParseCommandLine(cmdInfo);

// Dispatch commands specified on the command line
if (!ProcessShellCommand(cmdInfo))
return FALSE;
  其中cmdInfo是包含命令行信息的结构,只要对结构的成员进行处理就能达到目的。
     上面代码实现的是当程序运行时自动打开当前工作目录下的default.set文件,而不是显示一个New Document.

#2


可用用GetCommandLine得到命令行字符串

#3


我觉得最简单的方法是:
CWinApp *thisApp = AfxGetApp();
CString sCmdLine = thisApp->m_lpCmdLine;
这样就得到命令行参数啦

#1


对命令行的处理可以在 InitInstance()函数中,
  如下一段是处理命令行的部分:
  // Parse command line for standard shell commands, DDE, file open

CCommandLineInfo cmdInfo;
cmdInfo.m_nShellCommand = CCommandLineInfo::FileOpen;
cmdInfo.m_strFileName = sWorkDir+"\\default.set";
ParseCommandLine(cmdInfo);

// Dispatch commands specified on the command line
if (!ProcessShellCommand(cmdInfo))
return FALSE;
  其中cmdInfo是包含命令行信息的结构,只要对结构的成员进行处理就能达到目的。
     上面代码实现的是当程序运行时自动打开当前工作目录下的default.set文件,而不是显示一个New Document.

#2


可用用GetCommandLine得到命令行字符串

#3


我觉得最简单的方法是:
CWinApp *thisApp = AfxGetApp();
CString sCmdLine = thisApp->m_lpCmdLine;
这样就得到命令行参数啦