一个EXE文件运行时需要知道自身所在的路径,得到该路径的函数是什么? 一个EXE文件运行时需要知道自身所在的路径,得到该路径的函数是什么?该程序运行时需要调用同一目录下的一个文件,必须先得到该路径。以前我用过,忘了。求知情者指教! 感谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Use GetModuleFileName 获得应用程序的路径,然后去掉可执行文件名。Example: TCHAR exeFullPath[MAX_PATH]; GetModuleFileName(NULL,exeFullPath,MAX_PATH); 得到程序工作的当前目录CString GetAppPath(){ char exepath[MAX_PATH]; CString strdir, tmpdir; memset(exepath,0,MAX_PATH); GetModuleFileName(NULL,exepath,MAX_PATH); tmpdir = exepath; strdir = tmpdir.Left(tmpdir.ReverseFind('\\')); return strdir;} //取得当前路径 CString path; GetCurrentDirectory(MAX_PATH,path.GetBuffer(0)); 方法1:char errbuf[MAXBUFSIZE],exepath[MAXBUFSIZE],*pStr;//初始化模块名 if(GetModuleFileName(NULL,exepath,MAXBUFSIZE)<=0){ sprintf(errbuf,"GetModuleFileName fail."); return -1;}// 这里exepath里就是当前程序可执行文件的全路径//(包括文件名,如:c:\winnt\notepad.exe)pStr=strrchr(exepath,'\\');if ( pStr != NULL ) *pStr = 0x00;strcat(exepath,"\");// 这里exepath里就是当前程序可执行文件的路径//(不包括文件名,如:c:\winnt\) 方法2:char szWrite[MAX_PATH];strcpy(szWrite,__argv[0]);char disk[32];char path[MAX_PATH];char fName[MAX_PATH];char fExt[MAX_PATH];::_splitpath(szWrite,disk,path,fName,fExt);char result[MAX_PATH];strcat(result,disk);strcat(result,path); 在vc2008中,用CreatePointFont函数为什么输出中文时会变成乱码?搜狗和五笔都是一样的。 不是编程,问一个计算机操作方面的问题。 关于UDP服务端接收数据的先后问题,哪大神进来帮着看一下 用于网页的ActiveX嵌套问题 急:opengl基本问题 在SDI中树型控件的事件响应问题 怎样模拟鼠标拖动? LVCOLUMN结构的iSubItem和iOrder成员 的作用是什么? 用VC如何实现简繁转换?请指点。 关闭程序的问题!请教各位 1K游戏设计大赛 急问。关于数据处理速度的问题
Example:
TCHAR exeFullPath[MAX_PATH];
GetModuleFileName(NULL,exeFullPath,MAX_PATH);
CString GetAppPath()
{
char exepath[MAX_PATH];
CString strdir, tmpdir;
memset(exepath,0,MAX_PATH);
GetModuleFileName(NULL,exepath,MAX_PATH);
tmpdir = exepath;
strdir = tmpdir.Left(tmpdir.ReverseFind('\\'));
return strdir;
}
CString path;
GetCurrentDirectory(MAX_PATH,path.GetBuffer(0));
char errbuf[MAXBUFSIZE],exepath[MAXBUFSIZE],*pStr;//初始化模块名
if(GetModuleFileName(NULL,exepath,MAXBUFSIZE)<=0)
{
sprintf(errbuf,"GetModuleFileName fail.");
return -1;
}
// 这里exepath里就是当前程序可执行文件的全路径
//(包括文件名,如:c:\winnt\notepad.exe)pStr=strrchr(exepath,'\\');
if ( pStr != NULL ) *pStr = 0x00;
strcat(exepath,"\");
// 这里exepath里就是当前程序可执行文件的路径
//(不包括文件名,如:c:\winnt\)
方法2:
char szWrite[MAX_PATH];
strcpy(szWrite,__argv[0]);
char disk[32];
char path[MAX_PATH];
char fName[MAX_PATH];
char fExt[MAX_PATH];
::_splitpath(szWrite,disk,path,fName,fExt);
char result[MAX_PATH];
strcat(result,disk);
strcat(result,path);