FindResource

【勇芳软件工作室】汉化HomePreviousNext

FindResource功能确定指定模块中具有指定类型和名称的资源的位置。

HRSRC FindResource(

HMODULE 【HMODULE】,//资源模块句柄
LPCTSTR 【lpName】,//指向资源名称的指针
LPCTSTR 【//值类型缓冲区的地址】//指向资源类型的指针
); 

参数

【HMODULE】

可执行文件包含资源的模块的句柄。

值为NULL指定与操作系统用于创建当前进程的映像文件相关联的模块句柄。

【lpName】

指定资源的名称。有关详细信息,请参阅备注部分。

【//值类型缓冲区的地址】

指定资源类型。有关详细信息,请参阅备注部分。对于标准资源类型,此参数可以是以下值之一:

含义
RT_ACCELERATOR加速器表
RT_ANICURSOR动画光标
RT_ANIICON动画图标
RT_BITMAP位图资源
RT_CURSOR硬件依赖光标资源
RT_DIALOG对话框
RT_FONT字体资源
RT_FONTDIR字体目录资源
RT_GROUP_CURSOR与硬件无关的游标资源
RT_GROUP_ICON独立于硬件的图标资源
RT_ICON硬件依赖图标资源
RT_MENU菜单资源
RT_MESSAGETABLE消息表条目
RT_RCDATA应用程序定义资源(原始数据)
RT_STRING字符串表条目
RT_VERSION版本资源

返回值

如果函数成功,则返回值是指定资源信息块的句柄。要获取资源的句柄,请将此句柄传递给LoadResource函数。

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

备注

如果【lpName】【//值类型缓冲区的地址】参数的高位字为零,则低位字指定给定资源的名称或类型的整数标识符。否则,这些参数是指向空终止字符串的长指针。如果字符串的第一个字符是一个井号(#),剩余的字符表示一个十进制数,它指定资源的名称或类型的整数标识符。例如,字符串“#258”表示整数标识符258。

应用程序应该通过以整型标识符而不是名称来引用它们来减少资源所需的内存量。

应用程序可以使用FindResource查找任何类型的资源,但只有当应用程序在进行后续调用LoadLibraryLockResource时必须访问二进制资源数据,才应使用此函数。

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

功能行动
FormatMessage加载和格式化消息表条目。
LoadAccelerators加载加速器表。
LoadBitmap加载位图资源。
LoadCursor加载游标资源。
LoadIcon加载图标资源。
LoadMenu加载菜单资源。
LoadString加载一个字符串表条目。

例如,应用程序可以使用LoadIcon功能加载图标以在屏幕上显示。但是,如果加载图标将其数据复制到另一个应用程序,应用程序应使用FindResourceLoadResource.

也可以看看

FindResourceEx, FormatMessage, LoadAccelerators, LoadBitmap, LoadCursor, LoadIcon, LoadMenu, LoadResource, LoadString, LockResource, SizeofResource