Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как найти полный путь и имя файла запущенной DLL из самой DLL?

01.01.2007
uses Windows; 
 
procedure ShowDllPath stdcall;
var
  TheFileName: array[0..MAX_PATH] of char;
begin
  FillChar(TheFileName, sizeof(TheFileName), #0);
  GetModuleFileName(hInstance, TheFileName, sizeof(TheFileName));
  MessageBox(0, TheFileName, 'The DLL file name is:', mb_ok);
end;

Автор: Олег Кулабухов

Взято с https://delphiworld.narod.ru


function GetModuleFileNameStr(Instance: THandle): string;
var
  buffer: array [0..MAX_PATH] of Char;
begin
  GetModuleFileName( Instance, buffer, MAX_PATH);
  Result := buffer;
end;
 
GetModuleFileNameStr(Hinstance); // dll name
GetModuleFileNameStr(0); // exe name

Взято с https://delphiworld.narod.ru