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

时间:2021-01-16 09:13:47

当前路径与应用程序所在的路径有可能是不同的,特别是在使用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;
获取应用程序当前所在实际路径}