Může Windows dll načíst svůj vlastní název souboru?

hlasů
26

EXE soubor Windows má přístup do příkazového řetězce, které ji odvolává, včetně jeho cestu a název souboru. např. C:\MyApp\MyApp.exe --help,

Ale to není tak pro dll iniciována prostřednictvím LoadLibrary. Ví někdo způsob, jak pro dll, aby zjistili, co jeho cesta a název je?

Konkrétně Mám zájem o řešení Delphi, ale mám podezření, že odpověď by byla skoro stejná pro jakýkoli jazyk.

Položena 05/08/2008 v 10:34
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
35

Myslím, že hledáte GetModuleFileName vás.

http://www.swissdelphicenter.ch/torry/showcode.php?id=143 :

{
  If you are working on a DLL and are interested in the filename of the
  DLL rather than the filename of the application, then you can use this function:
}

function GetModuleName: string;
var
  szFileName: array[0..MAX_PATH] of Char;
begin
  FillChar(szFileName, SizeOf(szFileName), #0);
  GetModuleFileName(hInstance, szFileName, MAX_PATH);
  Result := szFileName;
end;

Nevyzkoušený však už nějaký čas, protože jsem pracoval s Delphi :)

Odpovězeno 05/08/2008 v 10:37
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more