Http://stackoverflow.com/questions/2043/can-a-windows-dll-retrieve-its-own-filename
A Windows EXE file has access to the command string which invoked it, including its path and filename. eg.
C:\MyApp\MyApp.exe--help.
It's not so for a DLL invoked via LoadLibrary
. Does anyone know of a -a-for-a DLL to find-out-what-its-path and filename is?
Specifically I ' m interested in a Delphi solution, but I suspect that the answer would being pretty much the same for any Lang Uage.
I Think You "re looking for GetModuleFileName.
{If you is working on a DLL and is interested in the filename of the DLL rather than the filename of the Applicati On, then you can use the This function:}functionGetmodulename:string;varszFileName:Array[0.. MAX_PATH] ofChar;beginFillchar (szFileName, SizeOf (szFileName), #0); GetModuleFileName (HInstance, szFileName, MAX_PATH); Result:=szFileName;End;
Can a Windows DLL retrieve its own filename?