VC超简单问题,100分在线等待!

Lorenes 2003-10-15 03:18:36
请问如何获取当前运行程序的文件名.


比如运行 MyProgram.exe

然后 MessageBox 弹出 MyProgram.exe
...全文
32 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lorenes 2003-10-15
  • 打赏
  • 举报
回复
好啊好啊!!

非常感谢!!

接分!
daizh 2003-10-15
  • 打赏
  • 举报
回复
我给你编成一个函数来实现吧:
CString GetMyDirectory()
{
TCHAR sFilename[_MAX_PATH];
TCHAR sDrive[_MAX_DRIVE];
TCHAR sDir[_MAX_DIR];
TCHAR sFname[_MAX_FNAME];
TCHAR sExt[_MAX_EXT];
GetModuleFileName(AfxGetInstanceHandle(), sFilename, _MAX_PATH);
_tsplitpath(sFilename, sDrive, sDir, sFname, sExt);

return strcat(sFname,sExt);
}
Lorenes 2003-10-15
  • 打赏
  • 举报
回复
啊? 如果目录下有好多文件呢?

我要是提前得出文件名了,还取什么呀...?

就要那个正在执行的文件名而已,不用带完整路径.
luogucai 2003-10-15
  • 打赏
  • 举报
回复
同意daizh
daizh 2003-10-15
  • 打赏
  • 举报
回复
TCHAR exeFullPath[MAX_PATH];

GetModuleFileName(NULL,exeFullPath,MAX_PATH);

实在不行你用上面的,你再取其中的文件名。这个不是太难。
Lorenes 2003-10-15
  • 打赏
  • 举报
回复
AfxGetAppName() 显示不出应用程序名啊....

把应用程序Abc.exe改个名叫Bcd.exe,还显示原来的Abc.
daizh 2003-10-15
  • 打赏
  • 举报
回复
你将AfxMessageBox(AfxGetAppName());放在C**App类中的InitInstance()中的最后,就可以了。但是,它同样不显示扩展名。
Lorenes 2003-10-15
  • 打赏
  • 举报
回复
是啊,不但没有扩展名,还并不是该文件名.

只是版本号中的名字.

请问如何获取EXE执行文件的名字啊?



daizh 2003-10-15
  • 打赏
  • 举报
回复
用MessageBox(AfxGetAppName());但是它不能显示文件的扩展名。
River_H 2003-10-15
  • 打赏
  • 举报
回复
MessageBox(AfxGetAppName());
就可以了.

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧