在MFC程序中,可以用以下幾種方法來獲取命令行參數。
為方便說明,我們假設執行了命令:C:\test\app.exe -1 -2
方法一:
GetCommandLine();
將獲取到 "C:\test\app.exe" -1 -2
采用CreateProcess傳遞參數時,只能使用這種方法。
方法二:
for (int i=0;i<__argc;i++)
{
__argv[i];
將依次得到C:\test\app.exe -1 -2
}
方法三:
AfxGetApp()->m_lpCmdLine;
將獲取到 -1 -2
方法四:
在C***App類中 ,有theApp 這個變量,在MFC程序其他類中,可以用 theApp 來調用C***App類中所有的方法和公有成員變量。
如果想在B類中調用C***App類的theApp變量,只需在B類的頭文件類的定義外,加上extern C***App theApp;
theApp.m_lpCmdLine;
將獲取到 -1 -2
方法四:
如果希望支持MFC應用程序的標准命令行,還可以使用MFC中的CCommandLineInfo類。