利用windows API获得:
CString GetAppPath() {
CString strAppPath; // 保存结果
TCHAR szModuleFileName[MAX_PATH]; // 全路径名
TCHAR drive[_MAX_DRIVE]; // 盘符名称,比如说C盘啊,D盘啊
TCHAR dir[_MAX_DIR]; // 目录
TCHAR fname[_MAX_FNAME]; // 进程名字
TCHAR ext[_MAX_EXT]; //后缀,一般为exe或者是dll
if (NULL == GetModuleFileName(NULL, szModuleFileName, MAX_PATH)) //获得当前进程的文件路径
return FALSE;
_tsplitpath_s( szModuleFileName, drive, dir, fname, ext ); //分割该路径,得到盘符,目录,文件名,后缀名
strAppPath = drive;
strAppPath += dir;
return strAppPath;
}
以上代码在VS2008可编译并运行。(要求MFC application或dll)
本文介绍了一个使用Windows API函数GetModuleFileName来获取当前运行进程所在完整路径的C++示例代码。通过解析路径信息,可以分离出磁盘驱动器、目录、文件名及扩展名。
2272





