1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- /////////////////////////////////////////////////////////////////////////////
- #ifndef _COMMANDLINE_INFO_EX_H_
- #define _COMMANDLINE_INFO_EX_H_
- //////////////////////////////////////////////////////////////////////////
- // 命令行参数:
- // -wf 写入flash cookies
- // -df 删除flash cookies
- //////////////////////////////////////////////////////////////////////////
- class CCommandLineInfoEx :
- public CCommandLineInfo
- {
- public:
- CCommandLineInfoEx(void);
- ~CCommandLineInfoEx(void);
- public:
- /** 是否正在以管理员身份启动
- @return 管理员身份运行返回true,否则返回false
- */
- bool IsRunasAdmin();
-
-
- bool IsChildProcess();
- bool GetWindowHandle(wstring& strWindowHandle);
- bool GetSharePath(wstring& strSharePath){ strSharePath = m_strSharePath; return true; }
- bool GetResumeFlag() { return m_bResume; }
- bool GetVisableFlag() { return m_bVisable; }
- bool GetStartPdfFlag() { return m_bStartPdf; }
- /** 是否包含指定的命令参数
- @param [in] nCmd命令参数ID
- @return 包含返回true,否则返回false
- */
- bool HasCommand(int nCmd);
- public:
- virtual void ParseParam(const TCHAR* pszParam, BOOL bFlag, BOOL bLast);
- #ifdef _UNICODE
- virtual void ParseParam(const char* pszParam, BOOL bFlag, BOOL bLast);
- #endif
- protected:
- void ParseParamFlag(const char* pszParam);
- void ParseParamNotFlag(const TCHAR* pszParam);
- #ifdef _UNICODE
- void ParseParamNotFlag(const char* pszParam);
- #endif
- void ParseLast(BOOL bLast);
- public:
- public:
- /** 检查是否可以启动应用程序
- @return 可以安全启动返回true,否则返回false
- */
- static void ParseCommandLine(CCommandLineInfoEx& rCmdInfo);
- public:
- static BOOL ParseWindow(wstring strUrl, wstring& strWindow);
- static BOOL ParseSharePath(wstring strUrl, wstring& strPath);
- static BOOL ParseRect(wstring strUrl, RECT& rcRect);
- static BOOL ParseResume(wstring strUrl, bool& bResume);
- static BOOL ParseVisable(wstring strUrl, bool& bVisable);
- static BOOL ParseStartPdf(wstring strUrl, bool& bStartPdf);
- private:
- static bool split(const std::wstring& src, std::wstring delimit, std::vector<std::wstring> &v, std::wstring null_subst = L"");
- public:
- enum { RoomEnter,
- SingleChat,
- GroupChat,
- TgroupChat,
- WriteFlashCookie,
- DelFlashCookie,
- Nothing = -1 } m_nShellCommand;
- private:
- bool m_bRunasAdmin;
- bool m_bChildProcess;
- wstring m_strWindow;
- wstring m_strSharePath;
- bool m_bResume;
- bool m_bVisable;
- bool m_bStartPdf;
- RECT m_rcRect;
- };
- #endif // _COMMANDLINE_INFO_EX_H_
|