Windows 取得程序运行的路径

 可能你的程序会移植到别的系统,或者别的目录下,而在你的程序中要动态取得当前程序运行的路径,试一试下面的方法:
1,
一个办法是在一启动的时候用 GetCurrentDirectory获得启动时的目录,这个目录在许多情况下就是程序所在目录,但用户可以通过修改快捷方式中的设置启动目录。
    另一个办法是调用__argv[0],如
    strcpy(filename, __argv[0]);
    __argv[0]包括本程序的路径和EXE文件名,你可以从中得到程序路径。这种方法不受快捷方式中的设置影响。

2,可以用这个API试试看:
     GetModuleFileName(NULL,strPath.GetBufferSetLength(MAX_PATH+1), MAX_PATH);
    strPath是你自己定义的CString类型变量,用来存储执行程序路径,一般来说,取得路径后你还要在后边加上“\\”才行。

比如:
TCHAR exeFullPath[MAX_PATH];
    
CString strPath;

    
GetModuleFileName(NULL,exeFullPath,MAX_PATH);

    
strPath=(CString)exeFullPath;

    
int position=strPath.ReverseFind('\\');

    
strPath=strPath.Left(position+1);
再如:
TCHAR FilePath[MAX_PATH];
    
GetModuleFileName(NULL,FilePath,MAX_PATH);
    
(_tcsrchr(FilePath,'\\'))[1] = 0;
    
lstrcat(FilePath,_T("MY.ini"));

3,  使用API的GetCurrentDirectory函数可以获得当前目录。

上面的方法我测试以后出结果

转载于:https://www.cnblogs.com/missparad/archive/2005/05/14/155311.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值