如何用Api函数得到当前可执行文件名(包含完整路径)?(50分)

  • 主题发起人 主题发起人 hlfrom331
  • 开始时间 开始时间
可以直接用Delphi里的函数:Application.ExeName 得到完整的文件名。<br>至于API,不太清楚,不过,有必要吗?
 
用Application.ExeName 就可以了<br>相关函数<br>extractfilepath<br>expandfilepath<br>extractfiledir<br>
 
你说想知道自己的程序名还是部上正在运行的所有程序的名?前者用教父的方法即可;后者<br>去WINAPI栏内在以前的已答问题中用“列出本机进程”或是“进程”搜索一下,有很多实例。<br>
 
是程序自己的名字。别告诉我Application.exename,我必须用Api得到。
 
没人知道吗?
 
好像有个GetModalName,现在没办法查资料,<br>你可以在Delphi/demos/中的ISAPI,CGI例子<br>中的初始化部份找一下,哪里面就是用这一个<br>函数得到EXE或DLL文件的名称的.
 
Application.ExeName 就是用Windows API实现的啊?你看看Application.ExeName的源码就知道了.<br>Application.ExeName根本就是调用GetCommandLine<br>GetCommandLine的结果用System.pas里的两个函数<br>GetParamStr<br>ParamStr<br>处理一下就是了。
 
procedure TForm1.Button1Click(Sender: TObject);<br>var<br>&nbsp; ModuleFileName: array[0..255] of char;<br>begin<br>&nbsp; GetModuleFileName(HInstance,ModuleFileName,255);<br>&nbsp; ShowMessage(ModuleFileName);<br>end;
 
lml的方法就是了<br>&nbsp; 先取得应用的handle,然后<br>var<br>&nbsp; ModuleFileName: array[0..255] of char;<br>&nbsp; <br>&nbsp; GetModuleFileNameA(handle,ModuleFileName,255)<br>
 
多人接受答案了。
 
后退
顶部