从 BPL 中,是否有可能获得自己的文件名?例如 C:\foo\bar.bpl
(动态加载和delphi7,如果重要的话)
打电话GetModuleFileName
。对于模块句柄,使用SysInit.HInstance
. 传递零将为您提供主机 EXE 的文件名,也称为ParamStr(0)
.
GetModuleFileName 的使用示例:
function DLLFileName : string;
begin
SetLength(Result,MAX_PATH);
GetModuleFileName(HInstance,PCHar(Result),MAX_PATH);
SetLength(Result,StrLen(PChar(Result)));
end;