软件注册站
热情软件屋

 
Windows下如何取得程序运行的路径
编号: QA002582    
建立日期: 2000年2月16日 最后修改日期: 2003年12月28日
所属类别: C/C++ - 磁盘、文件和目录
   
    编程工具: vc6.0
    操作系统: win98
    Windows下如何取得程序运行的路径。因为我希望在此路径下存放配置文件,又不希望操作注册表,希望编写的程序环保,多谢帮助。
    
    (洪东晖)
   
    一个办法是在一启动的时候用 GetCurrentDirectory获得启动时的目录,这个目录在许多情况下就是程序所在目录,但用户可以通过修改快捷方式中的设置启动目录。
    另一个办法是调用__argv[0],如
    strcpy(filename, __argv[0]);
    __argv[0]包括本程序的路径和EXE文件名,你可以从中得到程序路径。这种方法不受快捷方式中的设置影响。
    
    RedMan的意见:
    可以用这个API试试看:
     GetModuleFileName(NULL,strPath.GetBufferSetLength(MAX_PATH+1), MAX_PATH);
    strPath是你自己定义的CString类型变量,用来存储执行程序路径,一般来说,取得路径后你还要在后边加上“\\”才行。
    
    袁银龙、sapphire的意见:
    TCHAR exeFullPath[MAX_PATH];
    
CString strPath;
    
GetModuleFileName(NULL,exeFullPath,MAX_PATH);
    
strPath=(CString)exeFullPath;
    
int position=strPath.ReverseFind('\\');
    
strPath=strPath.Left(position+1);
    

    
    taishan_sword的意见:
    TCHAR FilePath[MAX_PATH];
    
GetModuleFileName(NULL,FilePath,MAX_PATH);
    
(_tcsrchr(FilePath,'\\'))[1] = 0;
    
lstrcat(FilePath,_T("MY.ini"));
    

    

此问题由李海回答。

附加关键字:编程, 源程序, programming, source code, C/C++, MFC, C++ Builder, Borland C++, Turbo C, C, BCB, 磁盘、文件和目录, disk, file, fat, directory, folder

   
 
把这个问题推荐给朋友
   
 
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio