将GIF嵌入dll(Firebreath)

时间:2012-03-09 16:00:06

标签: visual-c++ resources firebreath

我正在尝试将GIF嵌入到我的插件中,但是我没有获得该资源;这就是我正在做的事情:

HMODULE hModule = GetModuleHandle(NULL);
HRSRC hResInfo = FindResource(hModule, MAKEINTRESOURCE(201), L"GIF");

那是OnPluginReady()事件,这是 firebreathWin.rc

IDB_BITMAP1             GIF                     "C:/loader.gif"

这是 resource.h

#define IDB_BITMAP1                     201

完全相同的程序,正在处理控制台应用程序;但不是在我的firebreath项目中。

使用Visual C ++ 2010。

1 个答案:

答案 0 :(得分:1)

如果查看dllmain.cpp,您会发现可以使用全局HINSTANCE gInstance:

extern HINSTANCE gInstance;
HRSRC hRes = FindResource(gInstance, MAKEINTRESOURCE(201), L"GIF");

如果你想使用另一种方法,你也可以很容易地从FireBreath中get the full path and filename of your dll,这样你就不会依赖你的文件名永远不会改变。