Re: Command line style switch for MFC GUI app?
To add to AliR's link... I typically just do something like this in my
override:
void CMyApp::ParseCommandLine(CCommandLineInfo& rCmdInfo)
{
for (int i = 1; i < __argc; i++) {
LPCTSTR pszParam = __targv[i];
CString csParam = pszParam;
BOOL bFlag = FALSE;
BOOL bLast = ((i + 1) == __argc);
csParam.MakeLower();
if(csParam == _T("-rx") || csParam == _T("/rx"))
m_ReadOnly = false;
else if(csParam == _T("-r") || csParam == _T("/r"))
m_ReadOnly = true;
else if(csParam.Find(_T("-value")) != -1 ||
csParam.Find(_T("/value")) != -1) { // Passed in like /value:Text
CString cs = pszParam;
int index = cs.Find(_T(':'));
if(index != -1) {
m_csPassedInValue = cs.Mid(index+1);
m_csPassedInValue.Trim();
}
}
}
if (pszParam[0] == _T('-') || pszParam[0] == _T('/')) {
bFlag = TRUE;
++pszParam;
}
rCmdInfo.ParseParam(pszParam, bFlag, bLast);
}
Tom
"Moschops" <moschops@notvalid.com> wrote in message
news:tIqdnabSEZmtwoXUnZ2dnUVZ8i6dnZ2d@brightview.com...
I have inherited a large MFC app. I want to add an option to dump the log,
which currently goes to a console window, to a file. The code to do this is
written and works fine. However, it is important that the option to do so
is not presented to a standard user (the app is already in use and changes
to the interface are to be avoided if possible - the end users are very
time-constrained in their actions, reacting to events in real-time, and
adding buttons etc. just confuses them!) . As such, I'd like it to be
triggered by the command calling the application.
In essence, some kind of command line switch along the lines of:
"bigProcess.exe" for normal users, logging t oconsole, and
"bigProcess.exe -a" for logging to file.
I've no idea how to do this - I've had a poke at the CCommandLineInfo
object but I'm not quite sure what I'm doing with it. Any explanation of
how to go about this would be appreciated.
'Chops