C++ 获取exe路径

22 篇文章 2 订阅

这里提供了四种方法,均可以实现在mfc下通过c++语言获取exe路径。排序没有优劣,可以选择适合自己的一种方法。

第一种:

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

CString str_url =  szFilePath;
 AfxMessageBox(str_url);

第二种:

  CString   path=AfxGetApp()->m_pszHelpFilePath;   
  CString   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理了

转载自:http://blog.csdn.net/liquanhai/article/details/4345153 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值