檔案型別和程式已關聯,可以通過雙擊檔案啟動軟體并加載檔案,程式中通過
AfxGetApp()->m_lpCmdLine
獲得引數(檔案路徑),路徑中包含空格時路徑顯示不完整,空格部分顯示~1,有的電腦可以正常加載,有的電腦不能,不知道和什么有關,或者如何得到完整的路徑,請幫忙看看!
uj5u.com熱心網友回復:
路徑中包含空格時 加 引號uj5u.com熱心網友回復:
注冊的命令引數中 加引號 "%1"uj5u.com熱心網友回復:
在命令列中,空格是引數的分界比如 aa.exe a b,他的引數有兩個,分別是a和b,而不是a b這個字串
如引數中有空格,需用引號 包起來,如 aa.exe "a b" ,這樣引數就只有一個了
uj5u.com熱心網友回復:
貼上你注冊檔案型別相關代碼看看uj5u.com熱心網友回復:
//向注冊表寫注冊資訊CGCFileTypeAccess TheFTA;
TCHAR szProgPath[_MAX_PATH];
GetModuleFileName(NULL, szProgPath, _MAX_PATH);
csOpenCommand = szProgPath;
csOpenCommand += _T(" \"%1\"");
TheFTA.SetRegistryValue(HKEY_CLASSES_ROOT, _T(".xxx"), _T(""), _T("XXX.xxx"));
TheFTA.SetRegistryValue(HKEY_CLASSES_ROOT, _T("XXX.xxx"), _T(""), _T("XXX引數"));
TheFTA.SetRegistryValue(HKEY_CLASSES_ROOT, _T("XXX.xxx\\shell\\open\\command"), _T(""), csOpenCommand);
uj5u.com熱心網友回復:
隨時可用標準庫的 __argc __argv
#include <stdlib.h>
#include <tchar.h>
void Test()
{
for(int n=0; n<__argc; n++)
{
_tprintf(TEXT("arg%d = %s\n"), n, __targv[n]);
}
}
uj5u.com熱心網友回復:
CCommandLineInfo::ParseParam();轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/13550.html
標籤:基礎類
