获取应用程序当前所在实际路径

来源:互联网 发布:人工智能的文献 编辑:程序博客网 时间:2024/05/20 05:04

当前路径与应用程序所在的路径有可能是不同的,特别是在使用CFileDialog(或之类东西的时候)有可能将当前路径改为与应用程序所在路径不同的其他地方。以下就是获取应用程序所在路径的方法(我放在CMainFrame中实现):

CString CMainFrame::GetAppPath()
{

    
char    errbuf[256],exepath[256],*pStr;
    
    
//初始化模块名
    if(GetModuleFileName(NULL,exepath,256)<=0)
    
{
        sprintf(errbuf,
"GetModuleFileName   fail.");
        
return    -1;
    }

    
//   这里exepath里就是当前程序可执行文件的全路径
    
//(包括文件名,如:c:winnt otepad.exe)
    pStr = strrchr(exepath,'/');
    
if    (pStr != NULL)    *pStr =0x00;
    strcat(exepath,
"/");
    
//   这里exepath里就是当前程序可执行文件的路径
    
//(不包括文件名,如:c:winnt)

    CString str(exepath);
    
return str;
}

 

原创粉丝点击