Pfad einer DLL ermitteln

Titanico

Grünschnabel
Hallo,

ich habe ein Win32 DLL Projekt (VST Audio Plugin).
Im Konstruktor meiner Klasse innerhalb der DLL möchte ich ein paar Werte aus einer ini Datei einlesen.

Kein Problem, nur wie komme ich an den Pfad an dem sich die DLL befindet?
GetCommandLine() oder GetModuleFileName(....) liefern mir nur den Pfad der Exe-Datei (Host-Anwendung) mit der ich die DLL ausführe.

Jemand eine Idee?
 
Keine Ahnung ob's funktioniert, aber du könntest es mal so versuchen:
Code:
TCHAR lpBuffer[MAX_PATH];
GetModuleFileName(GetModuleHandle(_T("name_der_dll")), lpBuffer, sizeof(lpBuffer));

Gruß
MCoder
 
hm den richtigen pfad hab ich nu, aber er liest trotzdem immer nur den standardwert aus, was mach ich falsch?

Code:
short XXX::loadIni()
{
char strPath[MAX_PATH]; 
short cIniNumChannels;
CString cstrPath;
//Pfad der DLL ermitteln
GetModuleFileName(GetModuleHandle(_T(DLL_NAME)), strPath, MAX_PATH);
cstrPath = strPath;
//Dateierweiterung abschneiden 
int nPos = cstrPath.ReverseFind('\\');
cstrPath = cstrPath.Mid(1, nPos-1);
cstrPath += \\Settings.ini;
//Wert auslesen
cIniNumChannels = GetPrivateProfileIntA("config", "NUMCHANNLES", DEFAULT_NUMCHANNELS, cstrPath);
return cIniNumChannels;
}

so schaut meine ini datei "Settings.ini" aus:
[config]
NUMCHANNLES=6

die datei liegt auch im richtigen Verzeichnis
 
Zurück