CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

如何取得程序运行时的路径(目录)

楼主hwf962709()2002-05-16 18:10:08 在 VC/MFC / 基础类 提问

如何取得程序运行时的路径(目录),用哪个函数,包含哪个头文件 问题点数:50、回复次数:13Top

1 楼kingzai(stevenzhu)回复于 2002-05-16 18:12:26 得分 10

dll,GetCommandLine  
  exe,GetModuleFileNameTop

2 楼rkt_dijkstra(阿立青)回复于 2002-05-16 18:15:00 得分 5

DWORD   GetCurrentDirectory(   DWORD   nBufferLength,       LPTSTR   lpBuffer   );  
  Top

3 楼rkt_dijkstra(阿立青)回复于 2002-05-16 18:16:46 得分 0

Kernel32.lib   Winbase.h;  
  不用包含头文件,在MFC里。Top

4 楼jimconrad(jimmy)回复于 2002-05-16 18:18:32 得分 5

BOOL   CYourClass::GetModuleFileDir(CString&   strFilename)  
  {  
  //   Get   the   path   of   the   application  
  char   szFilename[MAX_PATH];  
  DWORD   dwPathLen   =   0;  
  if((dwPathLen   =   ::GetModuleFileName(  
  ::AfxGetInstanceHandle(),  
  szFilename,  
  MAX_PATH  
  ))   ==   0)   {  
  return   FALSE;  
  }  
  for(int   i=dwPathLen-1;   i>=0;   i--)   {  
  if(('\\'   ==   szFilename[i])  
  ||   ('/'   ==   szFilename[i]))   {  
  break;  
  }   else   {  
  szFilename[i]   =   '\0';  
  }  
  }  
  strFilename   =   szFilename;  
  if(strFilename.GetLength()   <=   0)   {  
  return   FALSE;  
  }  
   
  return   TRUE;  
  }Top

5 楼jimconrad(jimmy)回复于 2002-05-16 18:20:25 得分 0

对不起,把上面的szFileName改为szFileDir,strFilename改为strFilenDir.Top

6 楼gxingmin(小高)回复于 2002-05-16 18:20:50 得分 2

CString   strAppPath;  
  char   appPath[128];  
  GetModuleFileName(NULL,appPath,128);  
  strAppPath.Format("%s",appPath);Top

7 楼pp_ipr(ikn)回复于 2002-05-16 18:21:55 得分 0

GetCurrentDirectoryTop

8 楼19780812(走过、路过、不会错过)回复于 2002-05-16 18:23:06 得分 3

LPSTR   lpTemp;  
  GetModuleFileName(hInstance,   szFilePath,   sizeof(szFilePath);  
  for(lpTemp   =   szFilePath   +   lstrlen(szFilePath);    
          *(lpTemp   -   1)   !=   '\\';   lpTemp--)  
  ;  
  lstrcpy(lpTemp,   "");  
  szFilePath   就是路径.  
   
  Top

9 楼ice_river_feng(冰河)回复于 2002-05-16 18:45:46 得分 10

 
  char   *lud_module_path()   {  
  #define   LUD_PATH_BASE       256  
  #define   LUD_PATH_INCR       128  
          char   *temp;  
          char   *file   =   NULL;  
          int   len   =   LUD_PATH_BASE   +   1;  
          static   char   *res   =   NULL;  
           
          if   (res)   free((void   *)res);  
           
          file   =   (char   *)malloc(len);  
          while   (file)   {  
                  memset(file,   0,   len);  
                  if   (GetModuleFileName(NULL,   file,   len-1))   {  
                          temp   =   strrchr(file,   '\\');  
                          if   (temp   ==   NULL)   break;  
                          else   {  
                                  res   =   malloc(temp-file+2);  
                                  if   (res   ==   NULL)   break;  
                                  memcpy(res,   file,   temp-file+1);  
                                  *(res+(temp-file+1))   =   '\0';  
                                  break;  
                          }  
                  }   else   {  
                          len   +=   LUD_PATH_INCR;  
                          file   =   (char   *)realloc(file,   len);  
                  }  
          }  
           
          if   (file)   free(file);  
          return   res;  
  }Top

10 楼dou_ya(豆芽菜)回复于 2002-05-16 19:36:14 得分 15

一般情况下,GetCurrentDirectory(。。。)就可以胜任了。  
  因为默认情况下,操作系统都会将应用程序所在的目录作为当前目录。Top

11 楼dou_ya(豆芽菜)回复于 2002-05-16 19:37:32 得分 0

需要包含头文件   windows.h  
  Top

12 楼jaidy(骑士)回复于 2002-05-16 19:48:38 得分 0

GetModuleFileNameTop

13 楼opengl3d(opengl3d)回复于 2002-05-16 19:52:07 得分 0

int   nn=GetModuleFileName(NULL,s,1024);  
  char   szPath[255],szDrive[255],szFileName[255],szExt[255];  
  _splitpath(s,szDrive,szPath,szFileName,szExt);Top

相关问题

  • 请问如何实现程序打开时dirlistbox中显示的目录是上次程序运行时选择的路径
  • 如何获得已经运行程序的路径 即 他的文件路径
  • 如何在程序当前路径的上级路径下建立目录
  • 如何判断一个运行程序的启动路径
  • 如何知道当前正在运行的程序的路径?
  • 急呀!如何获得当前运行程序的路径????
  • 如何得到当前运行程序的全路径?
  • 如何获得当前正在运行程序的路径?
  • 如何获得其它的运行程序的全路径?GetWindowModuleFileName?
  • 怎样得到运行程序的路径??

关键词

  • 文件
  • szfilename
  • dwpathlen
  • 目录
  • 取得程序
  • strfilename
  • 运行时的路径
  • max
  • path
  • dword

得分解答快速导航

  • 帖主:hwf962709
  • kingzai
  • rkt_dijkstra
  • jimconrad
  • gxingmin
  • 19780812
  • ice_river_feng
  • dou_ya

相关链接

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

广告也精彩

反馈

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