VC中获取当前exe文件运行路径

一、

TCHAR szFilePath[MAX_PATH + 1]; GetModuleFileName(NULL, szFilePath, MAX_PATH); (_tcsrchr(szFilePath, _T(//)))[1] = 0;//删除文件名,只获得路径

CString str_url = szFilePath; AfxMessageBox(str_url);

二、

String path=AfxGetApp()->m_pszHelpFilePath; String str=AfxGetApp()->m_pszExeName; path=path.Left(path.GetLength()-str.GetLength()-4);

三、

//Get Run-directory

TCHAR szLongPathName[_MAX_PATH];

GetModuleFileName(NULL, szLongPathName, _MAX_PATH);

RunDir = szLongPathName;

int nPos = RunDir.ReverseFind(//);

if(nPos != -1) RunDir = RunDir.Left(nPos+1);

if(RunDir.IsEmpty()){

char szPath[144];

GetCurrentDirectory(144,szPath);

strcat(szPath,"//"); RunDir=szPath;

}

四、

#include < windows.h > #include < string.h > HINSTANCE hInst; char szBuf[256]; char *p; GetModuleFileName(hInst,szBuf,sizeof(szBuf));//拿到全部路径 p = szBuf; while(strchr(p,//)) //分离路径和文件名。 { p = strchr(p,//); p++; } *p = /0; //路径在szBuf理了

经验分享 程序员 微信小程序 职场和发展