![]() |
Re: Pfad der eigenen Anwendung - ohne Application. Param...
Application.Exename kannst du in dem fall verwenden
|
Re: Pfad der eigenen Anwendung - ohne Application. Param...
Zitat:
|
Re: Pfad der eigenen Anwendung - ohne Application. Param...
Komplizierter wird es nur noch, wenn man die Situation hat, daß man den Pfad der DLL aus der aktuellen DLL haben will, man aber (weil bspw. ursprünglich aus einer Bibliothek stammend) hInstance (der DLL) nicht kennt, NULL nicht nutzen kann, GetModuleHandle(NULL) auch keinen Sinn macht. Die generischste und meines Erachtens nach beste Methode zum Ermitteln des Pfades des aktuellen Moduls (nicht der EXE selbst, sondern des Moduls in dem der Code ausgeführt wird) ist, eine statische Variable zu deklarieren (also nicht auf dem Stack ;)) und die Basisadresse des Moduls aus der Adresse dieser Variablen zu ermitteln. Alternativ zur statischen Variablen geht auch ein Pointer auf die aktuelle Funktion welche unten beschriebene beschriebene Methode implementiert.
Dazu wird ![]() ![]()
Delphi-Quellcode:
GetModuleFileName(HMODULE(mbi->BaseAddress), Puffer, Groesse);
|
Re: Pfad der eigenen Anwendung - ohne Application. Param...
Ich habe mein Problem mit Hilfe des Prozessmanagements gelößt:
Delphi-Quellcode:
Gruß
uses
PSAPI, TlHelp32; function GetProcessExeName(hProcess: THandle): String; var ModuleEntry: TModuleEntry32; hModuleEntry: THandle; ProcessId: Cardinal; begin if hProcess = INVALID_HANDLE_VALUE then Exit; ProcessId := GetWindowThreadProcessId(hProcess); hModuleEntry := CreateToolHelp32Snapshot(TH32CS_SNAPMODULE, ProcessId); ModuleEntry.dwSize := SizeOf(TModuleEntry32); Module32First(hModuleEntry, ModuleEntry); Result := MOduleEntry.szExePath; CloseHandle(hModuleEntry); end; //Bsp: EXE_Dir_String := ExtractFilePath(GetProcessExeName(0)); //scheint gut zu functionieren. |
Re: Pfad der eigenen Anwendung - ohne Application. Param...
@tn249: Warum darf es nicht Application.ExeName sein trotz dessen das du ExtractFilePath verwendest?
|
Re: Pfad der eigenen Anwendung - ohne Application. Param...
Zitat:
|
Re: Pfad der eigenen Anwendung - ohne Application. Param...
Zitat:
gruß. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz