获取程序目录

    技术2022-05-20  28

    在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在应用程序经常要使用的


    最新回复(0)