本文实例讲述了VC++获得当前进程运行目录的方法,分享给大家供大家参考。具体实现方法如下:
该实例主要通过利用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;
}
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)
希望本文所述对大家的VC++程序设计有所帮助。