1

VC++ と ATL を使用して IE のアドオンを作成しています。これは単純な DLL であり、リソースとして使用するテキスト ファイルがあります。この答えは、これを行うのに役立ちました。

リソースの更新について質問があります。MSDNはそれを行う方法を説明していますが、リソースを含む exe または dll のファイル名を必要とする関数 ( BeginUpdateResource ) があります。

自分の DLLから自分の DLLのリソースを更新することはできますか? そのように簡単に読むことができますが、更新するにはDLLの名前を提供する必要があります。それは必要ですか?

また、DLL へのフル パスを指定しないと、DLL が保存されている場所ではなく、デスクトップ上のファイルが検索されます。なぜこれがこのように振る舞うのかわかりません。

4

1 に答える 1

1

I have never tried to do this so I might be wrong, but I would be surprised if a DLL could update its own resources. If the DLL file is loaded then I would expect the file containing the DLL to be locked for reading and for write attempts to that file to fail.

Still, if you want to try, just have the DLL pass its own path to the function.

You can get your DLL's path using GetModuleFileName by passing your DLL's HINSTANCE / HMODULE (they are the same thing these days) as the first argument. The HINSTNACE / HMODULE is passed to you in DllMain.

于 2011-02-25T15:22:58.700 に答える