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)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

概念性

FindResource

FindResourceEx

LoadLibrary

LoadModule

LockResource

其他资源

引用

资源