FireBreath を使用してブラウザー プラグイン (npapi) を開発しています。その中に、実行時に読み込む必要がある画像を埋め込もうとしています。
私は2日間検索、読書、実験を行ってきましたが、うまくいかないようです. これは私が最終的に得たコードです:
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 ファイルを作成しました。
PE Explorer を使用して DLL の内部をチェックしたので、BMP (ID 106) がコンパイル済みの DLL にあることは確かです。
画像リソースの読み込みに失敗する理由について何か考えはありますか? どうもありがとう。