CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

如何获取应用程序路径

楼主yzm8529(游戏狂)2006-03-04 21:13:27 在 VC/MFC / 基础类 提问

比如我用VC编的一个名叫1.exe的程序,这个程序如何获取自身所在的目录?  
  比如VB中用   App.Path   就可以解决,VC中呢? 问题点数:38、回复次数:10Top

1 楼flyelf(空谷清音)回复于 2006-03-04 21:22:12 得分 10

GetModuleFileNameTop

2 楼ycliycli(杏林居士)回复于 2006-03-04 21:41:13 得分 5

给你一段代码参考一下:  
                    char   ExeFilePath[MAX_PATH];  
  VERIFY(   0   !=   GetModuleFileName(NULL,   ExeFilePath,   sizeof(ExeFilePath)));  
  char   drive[_MAX_DRIVE];  
  char   dir[_MAX_DIR];  
  char   fname[_MAX_FNAME];  
  char   ext[_MAX_EXT];  
  _splitpath(ExeFilePath,   drive,   dir,   fname,   ext);  
  wsprintf(ExeFilePath,   "%s%s",   drive,   dir);Top

3 楼rageliu(天气好了就去长白山看水怪去了,嘿嘿...)回复于 2006-03-04 22:26:13 得分 2

GetModuleFileName()  
   
  需要其中的相关信息需要你自己解析Top

4 楼yzm8529(游戏狂)回复于 2006-03-06 21:13:23 得分 0

找到一个GetCurrentDirectory()函数很方便,  
  那个GetModuleFileName()我不会用,哪位举个例,结贴给分Top

5 楼guangmingshizhe(光明使者(看《C++程序设计语言》))回复于 2006-03-06 21:24:21 得分 5

GetCurrentDirectory这个函数不是很好啊  
  如果中间你调用文件对话框,对改变你的当前路径Top

6 楼coolzdp(unreal张师傅)回复于 2006-03-06 22:19:53 得分 4

CString   strPath;  
  TCHAR   szCurrentDir[MAX_PATH];  
  ::GetCurrentDirectory(MAX_PATH,   szCurrentDir);  
  strPath.Format(_T("%s"),   szCurrentDir);  
   
  调用文件对话框记得加上   OFN_NOCHANGEDIRTop

7 楼YufengShi(浪子)回复于 2006-03-06 23:27:41 得分 5

BOOL   GetCurrentPath(LPTSTR   szPath,   DWORD   nSize)  
  {  
  DWORD   dwRet   =    
  GetModuleFileName(GetModuleHandle(NULL),   szPath,   nSize);  
  if(0   ==   dwRet)    
  {  
  return   FALSE;  
  }  
  else  
  {  
  TCHAR*   p   =   szPath;  
  while(*p)++p; //   let   p   point   to   '\0'  
  while('\\'   !=   *p)--p; //   let   p   point   to   '\\'  
  *p   =   '\0'; //   get   the   path  
   
  return   TRUE;  
  }  
  }Top

8 楼mosing(A Crimson Cosmos)回复于 2006-03-06 23:43:09 得分 4

TCHAR   tcsModulePath[_MAX_PATH];  
  ::GetModuleFileName(NULL,   tcsModulePath,   _MAX_PATH);  
   
  CString   strCurDir   =   tcsModulePath;  
  strCurDir   =   strCurDir.Left(strCurDir.ReverseFind(TEXT('\\')));  
   
  TRACE(strCurDir);  
  Top

9 楼moloto2004()回复于 2006-03-08 16:24:16 得分 2

#include   <dir.h>  
  char   buf[_MAX_PATH];  
  char*   flag   =   getcwd(buf,_MAX_PATH)Top

10 楼rockersz(世上的无奈需要我去忍耐...)回复于 2006-03-08 16:28:09 得分 1

GetModuleFileNameTop

相关问题

  • WebService里如何获取当前的应用程序的路径???
  • 如何获取应用程序的路径?需要相对路径!
  • 高手帮忙:如何获取应用程序本身所在路径?
  • 新手请教:installshield做安装程序时,如何获取已经安装的应用程序的路径?急!!
  • 如何在程序运行时获取当前应用程序可执行文件的路径?
  • 如何获得当前应用程序的路径以及设置应用程序的路径
  • 如何得到当前应用程序的父路径?急!!!
  • 如何得到应用程序的路径
  • 如何取得应用程序启动路径
  • 如何获得应用程序当前路径(全称)

关键词

  • exefilepath
  • getmodulefilename
  • szcurrentdir
  • getcurrentdirectory
  • szpath
  • max
  • fname
  • drive
  • ext
  • dir

得分解答快速导航

  • 帖主:yzm8529
  • flyelf
  • ycliycli
  • rageliu
  • guangmingshizhe
  • coolzdp
  • YufengShi
  • mosing
  • moloto2004
  • rockersz

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo