<h4>紧急提问:有没有哪个API函数可以返回当前程序可执行文件所在目录的全路径?</h4>(200分)

  • 主题发起人 主题发起人 prog10
  • 开始时间 开始时间
&nbsp; &nbsp;var<br>&nbsp; &nbsp; &nbsp; ExeDir: String; &nbsp;<br>&nbsp; &nbsp; ...<br>&nbsp; &nbsp; ExeDir:=:=ExtractFileDir(Application.Exename);<br>&nbsp; &nbsp; 您满意了吗!(本人曾经在一个开发系统中用了这个函数)
 
<br>如果用API的话,用 GetModuleFileName 函数,如下:<br>function GetAppPath: string;<br>var<br>&nbsp; buf: array[0..max_path-1] of char;<br>&nbsp; len: integer;<br>begin<br>&nbsp; GetModuleFileName(hInstance, buf, max_path);<br>&nbsp; {找到最后一个反斜杠的位置}<br>&nbsp; len := strlen(buf);<br>&nbsp; while len &gt; 0 do<br>&nbsp; begin<br>&nbsp; &nbsp; if (buf[len] &lt;&gt; #0) and (strscan('/', buf[len]) &lt;&gt; nil) then<br>&nbsp; &nbsp; &nbsp; break;<br>&nbsp; &nbsp; dec(len);<br>&nbsp; end;<br>&nbsp; result := copy(string(buf), 1, len + 1);<br>end;<br><br>
 
ExtractFilePath(ParamStr(0))
 
hehe <br>&nbsp;getcurrentdirectory<br>&nbsp; &nbsp; &nbsp; &nbsp;
 
不一定要API函数,ExtractFilePath(Application.ExeName)和ExtractFileDir(Application.ExeName)都可以。
 
补充一点不同的地方。<br>例子:文件d:/temp/test.exe<br>ExtractFilePath(Application.ExeName) &nbsp; d:/temp/<br>ExtractFileDir(Application.ExeName) &nbsp; &nbsp;d:/temp
 
ExtractfilePath(Application.ExeName);<br>ExpandFileName(Application.ExeName);
 
ExtractfilePath(Application.ExeName);<br>这根本就是pascal的函数,不是windows api呀
 
全路径:ExtractfilePath(Application.ExeName);<br>文件名:ExpandFileName(Application.ExeName);<br>短路径:ExtractShortPathName(Application.ExeName);<br>在DELPHI中有时需要短路径。
 
干么非要用 API 用如下函数就行,还节省资源。<br>全路径:ExtractfilePath(Application.ExeName);<br>文件名:ExpandFileName(Application.ExeName);<br>短路径:ExtractShortPathName(Application.ExeName);<br>在DELPHI中有时需要短路径。
 
抢啊,这么多人在抢,我怎么能得到呢!<br>不给我点分我可不干,这问题人人都会。<br>用ParamStr(0)吧,很好用。
 
你紧急提问,问完了人就没了????
 
对不起,我几天没上网,没想到这么多人来解答,谢谢!问题已解决了。<br>本想大家分点分,但不到哪个斑竹将我的分已经全部给一个人了,这不是让我背黑锅吗?<br>大家回答都有分,而且才过了没几天,没到强制结束的时候吧,怎么能这样呢?希望有人出来<br>给个解释!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
I
回复
0
查看
1K
import
I
后退
顶部