gpt4 book ai didi

c++ - 如何获取当前执行代码的 HMODULE?

转载 作者:IT老高 更新时间:2023-10-28 12:32:57 25 4
gpt4 key购买 nike

我有一个静态库,可以链接到 .exe.dll。在运行时,我希望我的库函数之一为静态库代码已链接到的任何内容获取 HMODULE

我目前使用以下技巧(灵感来自 this forum):

const HMODULE GetCurrentModule()
{
MEMORY_BASIC_INFORMATION mbi = {0};
::VirtualQuery( GetCurrentModule, &mbi, sizeof(mbi) );

return reinterpret_cast<HMODULE>(mbi.AllocationBase);
}

有没有更好的方法来做到这一点,看起来不那么老套?

(注意:这样做的目的是加载一些我知道我的用户将与我的静态库同时链接的 Win32 资源。)

最佳答案

HMODULE GetCurrentModule()
{ // NB: XP+ solution!
HMODULE hModule = NULL;
GetModuleHandleEx(
GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS,
(LPCTSTR)GetCurrentModule,
&hModule);

return hModule;
}

关于c++ - 如何获取当前执行代码的 HMODULE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/557081/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com