我有一個靜態庫,可能會鏈接到.exe
或.dll
。在運行時,我希望我的庫函數能夠獲得HMODULE
的靜態庫代碼已鏈接到的任何東西。如何獲取當前正在執行的代碼的HMODULE?
我目前使用下面的技巧(從this forum啓發):
const HMODULE GetCurrentModule()
{
MEMORY_BASIC_INFORMATION mbi = {0};
::VirtualQuery(GetCurrentModule, &mbi, sizeof(mbi));
return reinterpret_cast<HMODULE>(mbi.AllocationBase);
}
是否有更好的方法可以做到這一點看起來不那麼哈克?
(注:這樣做的目的是加載,我知道我的用戶將在同一時間,我的靜態庫已發現,在一些Win32的資源。)
相關:http://stackoverflow.com/q/119706/946850 – krlmlr 2012-02-21 02:59:59