检索可用于获取指向内存中指定资源的第一个字节的指针的句柄。
语法
HGLOBAL LoadResource(
[in, optional] HMODULE hModule,
[in] HRSRC hResInfo
);
参数
[in, optional] hModule
类型:HMODULE
其可执行文件包含资源的模块句柄。 如果 hModule 为 NULL,系统会从用于创建当前进程的模块加载资源。
[in] hResInfo
类型: HRSRC
要加载的资源的句柄。 此句柄由 FindResource 或 FindResourceEx 函数返回。
返回值
类型: HGLOBAL
如果函数成功,则返回值是与资源关联的数据的句柄。
如果函数失败,则返回值 NULL。 若要获取扩展的错误信息,请调用 GetLastError。
注解
LoadResource 的返回类型是 HGLOBAL 以实现向后兼容性,而不是因为函数将句柄返回到全局内存块。 不要将此句柄传递给 GlobalLock 或 GlobalFree 函数。 若要获取指向资源数据第一个字节的指针,请调用 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 |