1. 程式人生 > >vs中獲取當前exe檔案執行路徑幾種方法

vs中獲取當前exe檔案執行路徑幾種方法

1、

TCHAR szFilePath[MAX_PATH + 1]; 
GetModuleFileName(NULL, szFilePath, MAX_PATH); 
(_tcsrchr(szFilePath, _T('//')))[1] = 0;//
刪除檔名,只獲得路徑

CString str_url =  szFilePath;

AfxMessageBox(str_url);

2、

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

3、

//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;

}

4、

#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理了