VC++中如何获得一个当前进程的运行目录

来源:互联网 发布:java redis缓存list 编辑:程序博客网 时间:2024/04/17 01:45

利用windows API获得:

 

CString GetAppPath() {

 

 

  CStringstrAppPath;  // 保存结果

 

  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)

原创粉丝点击