Pfad einer DLL herausfinden aus selbiger?
-
Hallo,
habe folgendes Problem:
Ich will den Pfad einer DLL Datei, aufgerufen in selbiger DLL Datei.
(Wo bin ich Prinzip)Ich kann in meinem DLL Code keine Winmain einbauen, weil ich MFC mitführe und
dann der Compiler nicht nur eine "ist doppelt" Warnung wirft, sondern die winmain dann auch
ignoriert.
Damit bekomme ich nicht die HINSTANCE des WINMAIN Aufrufes.Wenn ich später in der DLL GetModuleFileName aufrufe, kommt aber nur das Hauptprogramm dabei raus.
GetModuleFileName(GetModuleHandle(NULL),szAppPath,sizeof(szAppPath));Ich möchte aber die location der DLL im späteren Verlauf abfragen.
Ich denke es liegt irgendwie am "NULL"? Aber was soll sonst dort hinein?Gruß
TheNoName
-
Verwende das Pseudonym "__ImageBase" als erster Parameter

-
1. Wenn Du die MFC verwendest warum benutzt Du nicht AfxGetInstanceHandle?
http://msdn.microsoft.com/en-us/library/36z3tfsb(VS.80).aspx
2. WinMain kann man niemals in ein DLL Projekt einführen, ob MFC oder nicht. Das würde nur mit DllMain gehen! Aber das wiederspricht der MCF Logik.
3. GetModuleFileName mit NULL ist doch dokumentiert. Du erhältst den Pfad der EXE des aktuellen Prozesses!
4. GetModuleHandle mit NULL liefert auch das HINSTANCE des aktuellen Prozesses folgerichtig istGetModuleFileName(GetModuleHandle(NULL),...);identisch mit
GetModuleFileName(NULL,...);5. Beachte bitte bei GetModuleHandle:
http://blog.m-ri.de/index.php/2007/12/12/die-unsitte-immer-getmodulehandlenull-fuer-hinstance-in-createwindow-und-registerclass-zu-verwenden/
-
1. Wenn Du die MFC verwendest warum benutzt Du nicht AfxGetInstanceHandle?
liegt an meinen nur geringfügig ausgeprägten Hellseherischen Fähigkeiten.
Zwar habe ich geahnt, das es da was geben wird konnte aber nicht den genauen
Namen im dunkeln erkennen.
Werde mich bessern ...Danke, das Problem ist behoben, in mehrfacher Hinsicht sozusagen!
-
Doppelpost
-
Ganz schön was los heute ...