I have a static library that may get linked into either a .exe
or a .dll
. At runtime I want ony of my library functions to get the HMODULE
for whatever thing the static library code has been linked into.
I currently use the following trick (inspired from this forum):
const HMODULE GetCurrentModule()
{
MEMORY_BASIC_INFORMATION mbi = {0};
::VirtualQuery( GetCurrentModule, &mbi, sizeof(mbi) );
return reinterpret_cast<HMODULE>(mbi.AllocationBase);
}
Is there a better way to do this that doesn't look so hacky?
(Note: The purpose of this is to load some Win32 resources that I know my users will have linked in at the same time as my static library.)