Das müsste mit GetModuleFileName gehen.
Als Modulhandle nimmst du den
Handle, den LoadLibrary zurückliefert (oder GetModuleHandle, wenn die
DLL anderweitig geladen wird).
So viele Pfade kann es aber eigentlich für die
DLL nicht geben. Eine
DLL sollte in folgendem Suchpfad liegen, denn so sucht LoadLibrary:
- The directory from which the application loaded.
- The current directory.
- The system directory. Use the GetSystemDirectory function to get the path of this directory.
Windows NT/2000/XP: The name of this directory is System32.
- Windows NT/2000/XP: The 16-bit system directory. There is no function that obtains the path of this directory, but it is searched. The name of this directory is System.
- The Windows directory. Use the GetWindowsDirectory function to get the path of this directory.
- The directories that are listed in the PATH environment variable.
Solltest du die
DLL im Verzeichnis einer anderen Anwendung finden, dann ist es wahrscheinlich keine System-
DLL und du musst sie mit deiner Anwendung mitliefern.