这功能我经常用,用这函数GetModuleFileName(),支持Win/Linux系统,参考以下代码:
uses
{$IFDEF MSWINDOWS}
Windows,
{$ENDIF}
SysUtils, Classes.....
function ProgramPath: string;
begin
SetLength(Result, 256);
SetLength(Result, GetModuleFileName(HInstance, PChar(Result), 256));
Result:= ExtractFilePath(Result);
end;