日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

MFC命令行及CCommandLineInfo类

發(fā)布時(shí)間:2024/4/18 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MFC命令行及CCommandLineInfo类 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

獲取命令行的方法:

1、GetCommandLine() 獲取輸入的所有信息,包括程序所在路徑及參數(shù)

2、AfxGetApp()->m_lpCmdLine 只包含參數(shù)

一般情況下,獲取到命令行后就可以針對(duì)命令行中的內(nèi)容進(jìn)行相應(yīng)的處理了

?

CObject
└CCommandLineInfo
類(lèi)CCommandLineInfo用于分析啟動(dòng)應(yīng)用時(shí)的命令行參數(shù)。
MFC應(yīng)用一般都會(huì)在它的應(yīng)用對(duì)象中使用函數(shù)InitInstance創(chuàng)建這個(gè)類(lèi)的一個(gè)本地實(shí)例。然后把該對(duì)象傳給CWinApp::ParseCommandLine,ParseCommandLine又重復(fù)調(diào)用ParseParam填充CCommandLineInfo對(duì)象。最后,CCommandLineInfo對(duì)象被傳給CWinApp::ProcessShellCommand來(lái)處理命令行參數(shù)和選項(xiàng)。

  • BOOL?CExampleApp::InitInstance()
  • {
  • ????...
  • ????//?分析標(biāo)準(zhǔn)外殼命令、DDE、打開(kāi)文件操作的命令行
  • ????CCommandLineInfo?cmdInfo;
  • ????ParseCommandLine(cmdInfo);
  • ????//?調(diào)度在命令行中指定的命令。如果
  • ????//?用?/RegServer、/Register、/Unregserver?或?/Unregister?啟動(dòng)應(yīng)用程序,則返回?FALSE。
  • ????if?(!ProcessShellCommand(cmdInfo))
  • ????????return?FALSE;
  • ????...
  • }
  • void?CWinApp::ParseCommandLine(CCommandLineInfo&?rCmdInfo)
  • {
  • ????for?(int?i?=?1;?i?<?__argc;?i++)
  • ????{
  • ????????LPCTSTR?pszParam?=?__targv[i];
  • ????????BOOL?bFlag?=?FALSE;
  • ????????BOOL?bLast?=?((i?+?1)?==?__argc);
  • ????????if?(pszParam[0]?==?'-'?||?pszParam[0]?==?'/')
  • ????????{
  • ????????????//?remove?flag?specifier
  • ????????????bFlag?=?TRUE;
  • ????????????++pszParam;
  • ????????}
  • ????????rCmdInfo.ParseParam(pszParam,?bFlag,?bLast);
  • ????}
  • }
  • 總結(jié)

    以上是生活随笔為你收集整理的MFC命令行及CCommandLineInfo类的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。