Ho una libreria statica che può essere collegata a .exe
oa .dll
. In fase di esecuzione, desidero solo alcune delle funzioni della mia libreria per ottenere il valore HMODULE
per qualsiasi cosa al codice della libreria statica sia stato collegato.Come ottengo HMODULE per il codice attualmente in esecuzione?
Attualmente uso il seguente trucco (ispirato da this forum):
const HMODULE GetCurrentModule()
{
MEMORY_BASIC_INFORMATION mbi = {0};
::VirtualQuery(GetCurrentModule, &mbi, sizeof(mbi));
return reinterpret_cast<HMODULE>(mbi.AllocationBase);
}
C'è un modo migliore per fare questo che non guarda in modo hacky?
(Nota: Lo scopo di questo è quello di caricare alcune risorse Win32 che conosco i miei utenti avranno collegato in allo stesso tempo come la mia libreria statica.)
correlati: http://stackoverflow.com/q/119706/946850 – krlmlr