调用FreeLibrary后使用HBITMAP是否有效?

时间:2010-03-15 12:41:40

标签: gdi embedded-resource

我有一个案例,我需要从资源DLL加载位图并释放句柄。更新机制可能会更新dll,打开它将无法覆盖它。

所以我想说我有这样的事情:

HINSTANCE hInst = LoadLibraryEx(resourceDll, NULL, LOAD_LIBRARY_AS_DATAFILE);
HBITMAP hBitmap = LoadBitmap(hInst, "some.bmp")
FreeLibrary(hInst);

在调用FreeLibrary后使用hBitmap是否有效?

提前致谢。

1 个答案:

答案 0 :(得分:0)

是的,释放DLL是有效的。

LoadBitmap相当于CreateCompatibleBitmap,它会为您的流程创建一个新的位图。使用来自DLL资源的数据初始化位图图像。也就是说,像素信息被复制到位图。位图不包含指向资源数据的指针。创建后,您可以释放DLL。