我正在使用 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 内部。
关于为什么它无法加载图像资源的任何想法?非常感谢。