MFC程序带参数运行
2009-05-02 23:28
344 查看
下面的例子可以用来判断程序运行的时候是否使用了-c,-s或者-p选项,具体程序中大家可以按照例子做简单改动即可。
第一步:从CCommandLineInfo重载一个类CWzdCommandLineInfo,实现方式如下
头文件结束,下面是CPP文件
第二步:在APP类中添加成员变量:
public:
CWzdCommandLineInfo m_cmdInfo;
第三步:在InitInstance()函数中修改如下代码
如此即可以在程序的其它地方通过AfxGetApp()->m_cmdInfo取得CWzdCommandLineInfo对象,然后通过判断起成员变量m_bCFlag等等就能知道是用哪个选项运行的了。
转载自:http://www.host01.com/article/software/VisualC/20060917184425572.htm
第一步:从CCommandLineInfo重载一个类CWzdCommandLineInfo,实现方式如下
#if !defined WZDCOMMANDLINEINFO_H #define WZDCOMMANDLINEINFO_H // WzdCommandLineInfo.h : header file ////////////////////////////////////////////////////////////////////////// // CWzdCommandLineInfo window class CWzdCommandLineInfo : public CCommandLineInfo { // Construction public : CWzdCommandLineInfo( ) ; // Attributes public: BOOL m_bCFlag; BOOL m_bSFlag; BOOL m_bPFlag; CString m_sArg; // Operations public: void ParseParam(const TCHAR* pszParam,BOOL bFlag, BOOL bLast); // Overrides // Implementation public: virtual ~CWzdCommandLineInfo(); } ; ////////////////////////////////////////////////////////////////////////// #endif
头文件结束,下面是CPP文件
// WzdCommandLineInfo.cpp : implementation file // #include "stdafx.h" #include "WzdCommandLineInfo.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ////////////////////////////////////////////////////////////////////////// // CWzdCommandLineInfo CWzdCommandLineInfo::CWzdCommandLineInfo( ) { m_bCFlag = FALSE ; m_bSFlag = FALSE ; m_bPFlag = FALSE; m_sArg = _T(" ") ; } CWzdCommandLineInfo::~CWzdCommandLineInfo( ) { } ////////////////////////////////////////////////////////////////////////// void CWzdCommandLineInfo::ParseParam(const TCHAR* pszParam, BOOL bFlag, BOOL bLast) { CString sArg(pszParam); if (bFlag) { m_bCFlag = !sArg.CompareNoCase("c"); m_bSFlag = !sArg.CompareNoCase("s"); m_bPFlag = !sArg.CompareNoCase("p"); } // m_strFileName gets the first nonflag name else if (m_strFileName.IsEmpty()) { m_sArg = sArg ; } CCommandLineInfo::ParseParam(pszParam, bFlag, bLast ) ; }
第二步:在APP类中添加成员变量:
public:
CWzdCommandLineInfo m_cmdInfo;
第三步:在InitInstance()函数中修改如下代码
// Parse command line for standard shell commands, DDE, file open ParseCommandLine(m_cmdInfo); // Dispatch commands specified on the command line if (!ProcessShellCommand(m_cmdInfo)) return FALSE;
如此即可以在程序的其它地方通过AfxGetApp()->m_cmdInfo取得CWzdCommandLineInfo对象,然后通过判断起成员变量m_bCFlag等等就能知道是用哪个选项运行的了。
转载自:http://www.host01.com/article/software/VisualC/20060917184425572.htm
相关文章推荐
- MFC程序带参数运行
- MFC程序带参数运行
- MFC程序带参数运行
- MFC程序带参数运行
- MFC程序带参数运行实例
- MFC程序带参数运行实例
- vs2013的MFC中 添加Richedit2.0控件导致程序出错或无法运行的解决方法
- MFC 程序只能运行一个实例 互斥对象
- MFC程序Debug下无法运行,Release下可以运行
- 让MFC程序隐藏运行界面
- MFC调试--目标计算机中输出程序运行情况
- 浅入MFC之对话框及MFC程序的运行
- MFC程序的构造过程和运行机理初探
- 如何用命令行运行java程序及输入main函数参数的输入
- MFC及控制台窗口程序获取命令行传过来的参数的方法
- MFC程序加载DLL文件时运行到Loadlibray()语句就无法继续下去
- 给MFC程序添加运行时调试窗口
- mr程序运行在本地模式和集群模式的参数设置
- IntelliJ 运行程序前设置运行参数
- 得到正在运行程序的uid和svm相关的参数