获取程序目录

来源:互联网 发布:深圳积分入学 算法 编辑:程序博客网 时间:2024/05/18 19:42

在EVC下没有GetCurrentDirectory()这个函数能方便地获取当前工作路径,所以我们只能通过GetModuleFileName()函数的返回值来获取当前的工作路径.
//szPath:获取的当前工作路径
void GetCurrentDirectory(CString &szPath)
{
 wchar_t pBuf[256];
 GetModuleFileName(NULL,pBuf,sizeof(pBuf)/sizeof(wchar_t));
 szPath=pBuf;
 szPath = szPath.Left(szPath.ReverseFind('//')+1);
}

 

或者:

 CString path; 
 GetModuleFileName(NULL,path.GetBufferSetLength(MAX_PATH+1),MAX_PATH); 
  path.ReleaseBuffer(); 
  int pos = path.ReverseFind('//'); 
  path = path.Left(pos);

 

 

但是如下在win32应用程序下就应该是这样的:

 

//获取应用程序目录
CString CProfile::GetAppFileName(void)
{
 TCHAR Path[MAX_PATH];
 ::GetModuleFileName(NULL, Path, MAX_PATH);
 CString StrPath;//StrPath(Path);
 StrPath.Format(L"%s", Path);
 int pos = StrPath.ReverseFind('//');
    StrPath = StrPath.Left(pos);//去掉应用程序名称
 return StrPath;
}

 

这个API在应用程序经常要使用的