目前我已經在CXXXApp::InitInstance()函式的CCommandLineInfo cmdInfo;ParseCommandLine(cmdInfo);兩句中獲取到了檔案的路徑(包括檔案名),現在我需要在CXXXDlg::CPicSeeApp()或者CXXXDlg::OnInitDialog()函式中得到該檔案名,并且讀取該檔案。請問該怎樣實作這一功能?
uj5u.com熱心網友回復:
__argc __targvfor(int i=0; i<__argc; i++)
{
TRACE(_T("arg%d=%s\n"), i, __targv[i]);
}
uj5u.com熱心網友回復:
請問這幾句話是什么意思呀?我對這一塊不熟悉,能詳解一下嗎?uj5u.com熱心網友回復:
都沒明白 你想問什么uj5u.com熱心網友回復:
定義全域變數保存你獲取的命令列引數uj5u.com熱心網友回復:
app 中CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
m_strFileName=cmdInfo.m_strFileName;
AfxMessageBox(m_strFileName);
使用
theApp.m_strFileName
uj5u.com熱心網友回復:
class CxxxxApp : public CWinApp{
public:
CListCtrl3App();
CString m_strFileName;
對話框中
external CxxxxApp theApp;
uj5u.com熱心網友回復:
你在App類的InitInstance函式中都得到了檔案名了,你直接修改對話框類CXXXDlg的建構式,將檔案名作為建構式的引數傳遞過去不就了。
uj5u.com熱心網友回復:
__argc引數個數 __targv 引數已經定義在 stdlib.h 中 直接使用就可以了
第0個是命令列
for(int i=0; i<__argc; i++)
{
TRACE(_T("arg%d=%s\n"), i, __targv[i]);
}
貼到你對話框程式中就知道效果了
uj5u.com熱心網友回復:
1,在注冊表中將檔案拓展名跟你的應用進行系結2,用戶雙擊該拓展名檔案時,會呼叫你的應用
3,此時,你的應用的啟動引數中會包含該檔案路徑
uj5u.com熱心網友回復:
如 你的 檔案名 為 “abcd.txt1” 第一次 打開時:在 explorer 中 選擇 該檔案 右擊 "打開方式" ,然后 選擇 你的 exe。
以后 雙擊 就 會 在 cmdInfo.m_strFileName; 得到 “abcd.txt1”
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/156005.html
標籤:基礎類
上一篇:vs2008 使用std::string 兩個字串相加崩潰
下一篇:opencv中的霍夫變換
