如何得到程序可执行文件的当前工作目录?

leon_32163 2003-04-02 10:08:32
我在程序里想访问与该exe文件在同一个目录下的另一个文件。可是
用CreateFile时如果仅仅指定文件名,程序就会去“我的文档”目录下
查找,请问如何让程序访问当前目录而不必写死路径。

...全文
122 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
类库 2003-04-07
  • 打赏
  • 举报
回复
ExtractFilePath(Application->ExeName);
ExtractFilePath(ParamStr(0));
都行,就是不推荐用GetCurrentDir();
myy 2003-04-06
  • 打赏
  • 举报
回复
to ybluo() :

>>程序可能有快捷方式,而快捷方式的启动目录并非该exe文件的目录

应该是:
程序可能有快捷方式,而快捷方式的"属性->起始位置"并非该exe文件的目录
JetKingLau 2003-04-06
  • 打赏
  • 举报
回复
ExtractFilePath(Application->ExeName),这是最好的办法。
qiuafa 2003-04-06
  • 打赏
  • 举报
回复
我是用ExtractFilePath(Application->ExeName)
rainbowinfog 2003-04-05
  • 打赏
  • 举报
回复
GetCurrentDirectory()
ybluo 2003-04-03
  • 打赏
  • 举报
回复
GetCurrentDir();确实不太好,
但跟
>>这个太不好,因为你的程序可能有快捷方式,而快捷方式的启动目录并非该exe文件的目录,
好像没关系。
chinayang 2003-04-02
  • 打赏
  • 举报
回复
到help中找有关.ExtractFile开头的函数...还有几个和这个有关系..

chinayang 2003-04-02
  • 打赏
  • 举报
回复
ShowMessage(ExtractFilePath(Application->ExeName));
HUANG_JH 2003-04-02
  • 打赏
  • 举报
回复
同意以上的做法
sharkxie 2003-04-02
  • 打赏
  • 举报
回复
AnsiString AppPath = ExtractFilePath(Application->ExeName);
TopCat 2003-04-02
  • 打赏
  • 举报
回复
写错了,确实应该是ExeName,不是AppName
woainihaha 2003-04-02
  • 打赏
  • 举报
回复
同意WhyAndAnswer(明白).
也可以这样,ExtractFilePath(ParamStr(0));
TopCat 2003-04-02
  • 打赏
  • 举报
回复
得到应用程序所在的路径:

AnsiString AppPath = ExtractFilePath(Application->AppName);
WhyAndAnswer 2003-04-02
  • 打赏
  • 举报
回复
ExtractFilePath(Application->ExeName) 是这样吗
myy 2003-04-02
  • 打赏
  • 举报
回复
GetCurrentDir();

这个太不好,因为你的程序可能有快捷方式,而快捷方式的启动目录并非该exe文件的目录,
或是从命令行启动的,那就更说不准了。
ybluo 2003-04-02
  • 打赏
  • 举报
回复

#include <Filectrl.hpp>

AnsiString sFullPath;//文件的全路径
AnsiString sCurDir;//当前路径
sCurDir=GetCurrentDir();
sFullPath=sCurDir+ "\\" + "test.txt";
//--------
对文件进行处理

ybluo 2003-04-02
  • 打赏
  • 举报
回复
AnsiString sFullPath;//文件的全路径
AnsiString sCurDir;//当前路径
sCurDir=GetCurrentDir();

1,221

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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