1L的代碼有幾處錯誤,先更正一下。
適用於VC6:
//獲取程序目錄
SetCurrentDirectory("C:\\"); //模擬開機啟動
char ch[MAX_PATH];
memset(ch,0,sizeof(ch));
GetModuleFileName(AfxGetInstanceHandle(),ch,sizeof(ch));
ch[strrchr(ch,'\\')-ch]='\0';
CString path=ch;
path+="\\";
SetCurrentDirectory(path);
以下適用於VC2008:
//獲取程序目錄
SetCurrentDirectory(L"C:\\"); //模擬開機啟動
wchar_t ch[MAX_PATH];
memset(ch,0,sizeof(ch));
GetModuleFileName(AfxGetInstanceHandle(),ch,sizeof(ch));
ch[wcsrchr(ch,'\\')-ch]='\0';
CString path=ch;
path+=L"\\";
//AfxMessageBox(path);
SetCurrentDirectory(path);
如果是單/多文檔程序,可以在CMainFrame::CMainFrame()加入本代碼
如果是對話框程序,可在對話框類的【構造函數】上加入本代碼(不是InitDialog函數上)