msdn中的那个API函数是运行时动态得到应用程序自己路径的? 查了半天,找不到,问问大家 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用GetCurrentDirectory并不妥,万一程序曾修改过路径,那就“出错”了。 GetModuleFileName是得到包括可执行文件名在内的全路径...而GetCurrentDirectory是得到当前目录...有时可能会因为设置了当前目录而返回错误的目录...如果只是要得到路径而不想包括可执行文件名可用以下函数:CString GetExeDirectory(){ char *szCmd=NULL,*pc=NULL; int nPathLen=0; char *szPath=NULL; CString m_ExeDir; szCmd=GetCommandLine(); if (szCmd[0]!='\"') return ""; for (pc=szCmd+1; *pc; pc++) if (*pc=='\"') break; for ( ; pc>=szCmd+1; pc--) { if (*pc=='\\') break; if (*pc=='/') break; } nPathLen=pc-(szCmd+1); if (nPathLen<=0) return ""; szPath=(char *)malloc(nPathLen+1); if (szPath==NULL) return ""; memcpy(szPath,szCmd+1,nPathLen); szPath[nPathLen]=0; m_ExeDir=szPath; free(szPath); return m_ExeDir;} 上面的szCmd=GetCommandLine();也可用GetGetModuleFileName代替...只需做稍微改动 对,用GetModuleFileName(NULL,FileName,260) 无法连接Oracle 新手问题 RegisterHotKey的问题 【HELP】要是想在TEXT里编辑StringTable请问要如何设置呢? 请教:CListCtrl的WM_MEASUREITEM怎么不触发呢? VC源代码怎么避免被修改 ▲▲▲关于消息拦截问题!!▲▲▲ <<VC++技术内幕(第五版)>>出了!~? 求助:mfc编写com客户端的问题(百分求助) 关于API钩子的一点问题 大虾!哪有文件系统开发资料(NT,98,2000,免费IFS KIT)? 问一个Icon的问题 ●●int型怎样转换为CString型?●●
而GetCurrentDirectory是得到当前目录...有时可能会因为设置了当前目录而返回错误的目录...
如果只是要得到路径而不想包括可执行文件名可用以下函数:CString GetExeDirectory()
{
char *szCmd=NULL,*pc=NULL;
int nPathLen=0;
char *szPath=NULL;
CString m_ExeDir;
szCmd=GetCommandLine(); if (szCmd[0]!='\"') return "";
for (pc=szCmd+1; *pc; pc++)
if (*pc=='\"') break;
for ( ; pc>=szCmd+1; pc--)
{
if (*pc=='\\') break;
if (*pc=='/') break;
}
nPathLen=pc-(szCmd+1);
if (nPathLen<=0) return "";
szPath=(char *)malloc(nPathLen+1); if (szPath==NULL) return "";
memcpy(szPath,szCmd+1,nPathLen); szPath[nPathLen]=0;
m_ExeDir=szPath;
free(szPath); return m_ExeDir;
}