从嵌入在dll中的资源加载图像

时间:2013-08-21 13:04:20

标签: c++ winapi dll firebreath

我正在使用FireBreath开发一个浏览器插件(npapi),其中我正在尝试嵌入我需要在运行时加载的图像。

我已经进行了两天的搜索,阅读和实验,但我似乎无法使其发挥作用。 这是我最终得到的代码:

HMODULE hModule;
LPCWSTR path = L"nptest.dll";
GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT, path, &hModule);
LPTSTR resourceName = MAKEINTRESOURCE(106);
HBITMAP bitmap = (HBITMAP) LoadImage(hModule, resourceName, IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR);

执行此代码后,加载的位图似乎是空的,我无法弄清楚原因 起初我尝试加载PNG图像,后来意识到不支持PNG,所以我只是使用VS2010中的资源编辑器创建了一个BMP文件。
我确定BMP(ID为106)在编译的DLL中,因为我使用PE Explorer检查DLL内部。

关于为什么它无法加载图像资源的任何想法? 非常感谢。

0 个答案:

没有答案