是否可以将资源构建到静态库中,并通过简单地链接到库来重用它们?
我主要考虑的是你在库中调用一个函数然后访问资源的情况.
我有一个静态库,可以链接到a .exe或a .dll.在运行时,我希望我的库函数可以获取HMODULE静态库代码链接到的任何内容.
我目前使用以下技巧(灵感来自此论坛):
const HMODULE GetCurrentModule()
{
MEMORY_BASIC_INFORMATION mbi = {0};
::VirtualQuery( GetCurrentModule, &mbi, sizeof(mbi) );
return reinterpret_cast<HMODULE>(mbi.AllocationBase);
}
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来做这个看起来不那么hacky?
(注意:这样做的目的是加载一些我知道我的用户将与我的静态库同时链接的Win32资源.)
这里C#的问题相同:将资源加载为字节数组programmaticaly
所以我有一个资源(只是二进制文件 - 用户数据,并不重要).我需要一个指向表示此资源的字节数组的指针,该怎么做?资源位于vs2010的资源文件中(win32控制台项目).我想我需要使用FindResource,LoadResource和LockResourceWINAPI的功能.