1. GetModuleFileName() 可以获取可执行文件的全路径(包括可执行文件的名字),如“f:\WorkSpace\Update\Debug\update.exe ”
2. 可以通过下面的函数获取当前程序的路径(文件夹)
TCHAR m_szAppPath[MAX_PATH]; // 这个是类成员
GetAppPath(void)
{
TCHAR *lpPathTemp;
size_t szCount = 0,szIndex = 0;
TCHAR tcPath[MAX_PATH] = {0};
GetModuleFileName(NULL,tcPath,MAX_PATH);
szCount = _tcslen(tcPath);
lpPathTemp = tcPath + szCount;
while(TRUE)
{
if((*lpPathTemp == '\\'))
{
*(tcPath + szCount - szIndex + 1) = '\0';
break;
}
lpPathTemp--;
szIndex++;
}
memset(m_szAppPath,0,sizeof(m_szAppPath));
_tcscpy_s(m_szAppPath,MAX_PATH,tcPath);
}
3. 也可以通过下面的方式获取当前的路径
TCHAR m_profile[_MAX_PATH]; // 这个是类成员
void GetAppPath()
{
TCHAR driver[_MAX_PATH],dir[_MAX_PATH];
GetModuleFileName(NULL,m_profile,_MAX_PATH);
_tsplitpath_s(m_profile,driver,_MAX_DRIVE,dir,_MAX_DIR,NULL,NULL,NULL,NULL);
lstrcpy(m_profile,driver);
lstrcat(m_profile,dir);
}