LoadResource 函数 (libloaderapi.h)

检索可用于获取指向内存中指定资源的第一个字节的指针的句柄。

语法

HGLOBAL LoadResource(
  [in, optional] HMODULE hModule,
  [in]           HRSRC   hResInfo
);

参数

[in, optional] hModule

类型:HMODULE

其可执行文件包含资源的模块句柄。 如果 hModuleNULL,系统会从用于创建当前进程的模块加载资源。

[in] hResInfo

类型: HRSRC

要加载的资源的句柄。 此句柄由 FindResourceFindResourceEx 函数返回。

返回值

类型: HGLOBAL

如果函数成功,则返回值是与资源关联的数据的句柄。

如果函数失败,则返回值 NULL。 若要获取扩展的错误信息,请调用 GetLastError

注解

LoadResource 的返回类型是 HGLOBAL 以实现向后兼容性,而不是因为函数将句柄返回到全局内存块。 不要将此句柄传递给 GlobalLockGlobalFree 函数。 若要获取指向资源数据第一个字节的指针,请调用 LockResource 函数;若要获取资源的大小,请调用 SizeofResource

GlobalSize 为资源 HGLOBAL 返回 0。 因此,依赖于 GlobalSize 以确定 HGLOBAL 大小的任何 API 将无法正常工作。 例如,使用 SHCreateMemStream 而不是 CreateStreamOnHGlobal

若要立即使用资源,应用程序应使用以下特定于资源的函数在一次调用中查找和加载资源。

功能 行动 删除资源
FormatMessage 加载消息表条目并设置格式 无需执行任何操作
LoadAccelerators 加载加速器表 DestroyAcceleratorTable
LoadBitmap 加载位图资源 DeleteObject
LoadCursor 加载游标资源 DestroyCursor
LoadIcon 加载图标资源 DestroyIcon
LoadMenu 加载菜单资源 DestroyMenu
LoadString 加载字符串资源 无需执行任何操作

例如,应用程序可以使用 LoadIcon 函数加载图标以便在屏幕上显示,完成后再加载 DestroyIcon

例子

有关示例,请参阅 更新资源

要求

要求 价值
最低支持的客户端 Windows 2000 Professional [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows操作系统
标头 libloaderapi.h (包括 Windows.h)
图书馆 内核 32.lib
DLL Kernel32.dll

另请参阅

FindResource

FindResourceEx

LoadLibrary

LoadModule

LockResource