4 个解决方案
#1
CString GetInstallPath()
{
CHAR szFilePath[MAX_PATH]={0};
GetModuleFileName(NULL,szFilePath,MAX_PATH);
int iLastBias =0;
int i =0;
while (szFilePath[i]!=0)
{
if (szFilePath[i]=='\\')
{
iLastBias = i;
}
i++;
}
szFilePath[iLastBias]=0;//当前目录
i = 0;
while (szFilePath[i]!=0)
{
if (szFilePath[i]=='\\')
{
iLastBias = i;
}
i++;
}
szFilePath[iLastBias]=0;//上一级目录
CString strFilePath = szFilePath;
return strFilePath;
}
{
CHAR szFilePath[MAX_PATH]={0};
GetModuleFileName(NULL,szFilePath,MAX_PATH);
int iLastBias =0;
int i =0;
while (szFilePath[i]!=0)
{
if (szFilePath[i]=='\\')
{
iLastBias = i;
}
i++;
}
szFilePath[iLastBias]=0;//当前目录
i = 0;
while (szFilePath[i]!=0)
{
if (szFilePath[i]=='\\')
{
iLastBias = i;
}
i++;
}
szFilePath[iLastBias]=0;//上一级目录
CString strFilePath = szFilePath;
return strFilePath;
}
#2
Use GetModuleFileName 获得应用程序的路径,然后去掉可执行文件名。
Example:
TCHAR exeFullPath[MAX_PATH];
GetModuleFileName(NULL,exeFullPath,MAX_PATH);
获得当前路径后,再解析得到上一级目录
Example:
TCHAR exeFullPath[MAX_PATH];
GetModuleFileName(NULL,exeFullPath,MAX_PATH);
获得当前路径后,再解析得到上一级目录
#3
TCHAR exeFullPath[MAX_PATH];
GetModuleFileName(NULL,exeFullPath,MAX_PATH); // EXE 文件名
*_tcsrchr(exeFullPath,'\\') = 0; // 去掉文件名
CString strExePath = exeFullPath; // EXE 所在的路径
*_tcsrchr(exeFullPath,'\\') = 0; // 再去掉一段
CString strParentPath = exeFullPath; // EXE 所在的路径的父文件夹
GetModuleFileName(NULL,exeFullPath,MAX_PATH); // EXE 文件名
*_tcsrchr(exeFullPath,'\\') = 0; // 去掉文件名
CString strExePath = exeFullPath; // EXE 所在的路径
*_tcsrchr(exeFullPath,'\\') = 0; // 再去掉一段
CString strParentPath = exeFullPath; // EXE 所在的路径的父文件夹
#4
当前目录+_T("..\\");就是上一级了.
#1
CString GetInstallPath()
{
CHAR szFilePath[MAX_PATH]={0};
GetModuleFileName(NULL,szFilePath,MAX_PATH);
int iLastBias =0;
int i =0;
while (szFilePath[i]!=0)
{
if (szFilePath[i]=='\\')
{
iLastBias = i;
}
i++;
}
szFilePath[iLastBias]=0;//当前目录
i = 0;
while (szFilePath[i]!=0)
{
if (szFilePath[i]=='\\')
{
iLastBias = i;
}
i++;
}
szFilePath[iLastBias]=0;//上一级目录
CString strFilePath = szFilePath;
return strFilePath;
}
{
CHAR szFilePath[MAX_PATH]={0};
GetModuleFileName(NULL,szFilePath,MAX_PATH);
int iLastBias =0;
int i =0;
while (szFilePath[i]!=0)
{
if (szFilePath[i]=='\\')
{
iLastBias = i;
}
i++;
}
szFilePath[iLastBias]=0;//当前目录
i = 0;
while (szFilePath[i]!=0)
{
if (szFilePath[i]=='\\')
{
iLastBias = i;
}
i++;
}
szFilePath[iLastBias]=0;//上一级目录
CString strFilePath = szFilePath;
return strFilePath;
}
#2
Use GetModuleFileName 获得应用程序的路径,然后去掉可执行文件名。
Example:
TCHAR exeFullPath[MAX_PATH];
GetModuleFileName(NULL,exeFullPath,MAX_PATH);
获得当前路径后,再解析得到上一级目录
Example:
TCHAR exeFullPath[MAX_PATH];
GetModuleFileName(NULL,exeFullPath,MAX_PATH);
获得当前路径后,再解析得到上一级目录
#3
TCHAR exeFullPath[MAX_PATH];
GetModuleFileName(NULL,exeFullPath,MAX_PATH); // EXE 文件名
*_tcsrchr(exeFullPath,'\\') = 0; // 去掉文件名
CString strExePath = exeFullPath; // EXE 所在的路径
*_tcsrchr(exeFullPath,'\\') = 0; // 再去掉一段
CString strParentPath = exeFullPath; // EXE 所在的路径的父文件夹
GetModuleFileName(NULL,exeFullPath,MAX_PATH); // EXE 文件名
*_tcsrchr(exeFullPath,'\\') = 0; // 去掉文件名
CString strExePath = exeFullPath; // EXE 所在的路径
*_tcsrchr(exeFullPath,'\\') = 0; // 再去掉一段
CString strParentPath = exeFullPath; // EXE 所在的路径的父文件夹
#4
当前目录+_T("..\\");就是上一级了.