Mam statyczną bibliotekę, która może zostać połączona z .exe
lub .dll
. W czasie wykonywania chcę mieć wszystkie funkcje biblioteczne, aby uzyskać HMODULE
dla każdej rzeczy, do której został dołączony kod biblioteki statycznej.Jak uzyskać HMODULE dla aktualnie wykonywanego kodu?
Używam obecnie następujący trick (inspirowaną od this forum):
const HMODULE GetCurrentModule()
{
MEMORY_BASIC_INFORMATION mbi = {0};
::VirtualQuery(GetCurrentModule, &mbi, sizeof(mbi));
return reinterpret_cast<HMODULE>(mbi.AllocationBase);
}
Czy istnieje lepszy sposób na to, że nie wygląda tak hacky zrobić?
(Uwaga: Celem jest to, aby załadować niektórych zasobów Win32 że znam moje użytkownicy będą mieli połączone w tym samym czasie, co moim statycznej biblioteki.)
Related: http://stackoverflow.com/q/119706/946850 – krlmlr