您的位置:首页 > 其它

GetCurrentDirectory()函数误区

2013-06-28 09:07 543 查看
以下代码获取当前exe运行目录,在点击运行时正确,但是如果程序开机自动启动,那么获取的目录将是系统桌面文档目录;

TCHAR szBuf[MAX_PATH]={0};

// 注意:该函数开机启动时获取目录错误

GetCurrentDirectory(MAX_PATH, szBuf);

CString strExcutePath(szBuf);

以下函数获取exe模块绝对路径包括文件名,可以移除文件名取路径,不会出现上述错误。

TCHAR szBuf[MAX_PATH]={0};

// 注意:该函数开机启动时获取目录错误

TCHAR szBuf[MAX_PATH]={0};

// 注意:该函数开机启动时获取目录错误

//GetCurrentDirectory(MAX_PATH, szBuf);

GetModuleFileName(GetModuleHandle(NULL) , szBuf, MAX_PATH);

CString strExcutePath(szBuf);

int index = strExcutePath.ReverseFind('\\');

m_sFilePath = strExcutePath.Left(index)+"/config.ini";
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐