MFC获取程序运行目录

方法一:

TCHAR   tcsModulePath[_MAX_PATH];

::GetModuleFileName(NULL, tcsModulePath, _MAX_PATH);
char drive[_MAX_DRIVE];
char dir[_MAX_DIR];
_splitpath(tcsModulePath, drive, dir, NULL, NULL);
CString strPath;
strPath.Format("%s%s从控端.exe", drive, dir); //strPath即为得到的当前运行程序所在目录
//AfxMessageBox(strPath);


//Unicode:
CString m_strPath;
int nPos;
GetModuleFileName(NULL, m_strPath.GetBufferSetLength(MAX_PATH + 1), MAX_PATH);
m_strPath.ReleaseBuffer();
nPos = m_strPath.ReverseFind(_T('\\'));
m_strPath = m_strPath.Left(nPos);
AfxMessageBox(m_strPath);

方法二:

CString m_TempFile;
//获取应用程序的全路径
char exeFullPath[MAX_PATH];
GetModuleFileName(NULL, (LPWCH)exeFullPath, MAX_PATH);
//将其格式化为字符串
m_TempFile.Format(L"%s", exeFullPath);
//去掉应用程序的全名(15为应用程序文件全名的长度)
exeFullPath[m_TempFile.GetLength()-15]='\0';
//得到应用程序所在路径
m_TempFile.Format(L"%s", exeFullPath);
//得到程序中文件的全路径
m_TempFile+="xxx.exe";

你可能感兴趣的:(MFC)