Se ho una dll chiamata "foo.dll" e l'utente finale la rinomina in "bar.dll" e LoadLibrary, come posso ottenere il nome "bar.dll "da dentro la mia dll?Ottenere il nome di una DLL dalla dll
È GetModuleFilename (hModule, buffer); ?
Se ho una dll chiamata "foo.dll" e l'utente finale la rinomina in "bar.dll" e LoadLibrary, come posso ottenere il nome "bar.dll "da dentro la mia dll?Ottenere il nome di una DLL dalla dll
È GetModuleFilename (hModule, buffer); ?
sì, è necessario memorizzare hModule in DllMain
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
switch (fdwReason)
{
case DLL_PROCESS_ATTACH:
hModule = hinstDLL;
break;
}
}
È necessario fornire DllMain funzione, conservare il manico modulo che viene passato in una variabile statica, e quindi utilizzare tale variabile per chiamare GetModuleFilename. Dovresti evitare di chiamare GetModuleFilename (o qualsiasi altra funzione) in DllMain stesso, dato che Windows è molto schizzinoso su ciò che puoi e non puoi fare lì.