Tôi có một thư viện tĩnh có thể được liên kết với một trong số .exe
hoặc .dll
. Khi chạy, tôi muốn ony của các hàm thư viện của mình nhận được HMODULE
cho bất kỳ điều gì mà mã thư viện tĩnh đã được liên kết.Làm cách nào để lấy mã HMODULE cho mã hiện đang thực thi?
Tôi hiện đang sử dụng các thủ thuật sau đây (lấy cảm hứng từ this forum):
const HMODULE GetCurrentModule()
{
MEMORY_BASIC_INFORMATION mbi = {0};
::VirtualQuery(GetCurrentModule, &mbi, sizeof(mbi));
return reinterpret_cast<HMODULE>(mbi.AllocationBase);
}
Có cách nào tốt hơn để làm điều này mà không trông rất hacky?
(Lưu ý: Mục đích của việc này là để tải một số tài nguyên Win32 mà tôi biết người dùng của tôi sẽ được liên kết trong cùng lúc như thư viện tĩnh của tôi.)
liên quan: http://stackoverflow.com/q/119706/946850 – krlmlr