//
class CMyCommandLineInfo : public CCommandLineInfo
{
public:
//
bool m_debug;
DWORD m_handle;
//
CMyCommandLineInfo()
{
m_debug = false;
m_handle = 0;
}
//
void ParseParam(const TCHAR * pszParam, BOOL bFlag, BOOL bLast)
{
bool bHandled = false;
TCHAR * lpszParse = (TCHAR *)pszParam;
if (bFlag)
{
switch (*lpszParse)
{
case _T('d'):
case _T('D'): m_debug = bHandled = true; break;
case _T('h'):
case _T('H'):
++lpszParse;
if (*lpszParse == _T('='))
++lpszParse;
m_handle = _tcstol(lpszParse, NULL, 16);
bHandled = true;
break;
}
}
if (!bHandled)
CCommandLineInfo::ParseParam(pszParam, bFlag, bLast);
}
};
//
CMyCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
if (cmdInfo.m_handle == 0) {
printf("invalid window handle\n");
return FALSE;
}