1、建议在程序初始化时(比如CDialog类在OnInitDialog函数中),把程序所在目录的路径存成char类型的类成员。
示例程序:
char exePath[300], Drive[5], Dir[300], FileName[80], Ext[10];
//获取exe完整路径(包含文件名)
GetModuleFileName( NULL, exePath, 300 );
//把路径拆分,再合并,仅保留目录
_tsplitpath_s(exePath, Drive, _countof(Drive), Dir, _countof(Dir), FileName, _countof(FileName), Ext, _countof(Ext));
_stprintf_s(m_exePathDir, _countof(m_exePathDir), TEXT("%s%s"),Drive, Dir);
//最后得到m_exePathDir中即是程序所在目录。
示例程序:
SetCurrentDirectory(m_exePathDir);