FindResource
Функция FindResource определяет местоположение ресурса с указанным типом и именем в указанном модуле.
HRSRC FindResource (
HMODULE
hModule
, // дескриптор
модуля
ресурса
LPCTSTR
lpName
, // указатель на имя ресурса
LPCTSTR
lpType
// указатель на тип ресурса
);
Параметры
hModule
- дескриптор модуля, чей исполняемый файл содержит ресурс.
Значение параметра, равное NULL
, определяет дескриптор модуля, связанного с загрузочным файлом, который использовала
операционная система для создания текущего процесса.
lpName - определяет имя ресурса. Для дополнительной
информации смотрите раздел "Комментарии".
lpType - определяет тип ресурса. Для дополнительной
информации смотрите раздел "Комментарии". Для стандартных типов ресурсов
этот параметр может принимать одно из следующих значений:
Значение |
Пояснение |
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 или lpType равно нулю, младшее слово определяет целочисленный идентификатор имени или типа указанного ресурса. В противном случае, оба значения этих параметров представляют собой длинные указатели на завершающиеся нулем строки. Если первый символ строки равен '#', оставшиеся символы представляют собой десятичное число, которое определяет целочисленный идентификатор имени или типа ресурса. Например, строка "#258" представляет собой целочисленный идентификатор 258.
Приложение может уменьшить
количество памяти, необходимое ресурсу, обращаясь к нему по целочисленному идентификатору
вместо имени.
Приложение может использовать
FindResource
для поиска ресурса любого типа, но эта функция должна быть использована только
в том случае, если приложение должно иметь доступ к двоичным данным ресурсов,
когда оно впоследствии вызывает функции LoadLibrary
и LockResource
.
Для немедленного использования ресурса приложение должно использовать одну из
следующих функций для поиска и загрузки ресурса:
Функция |
Действие |
FormatMessage |
Загружает и форматирует элемент таблицы сообщений. |
LoadAccelerators |
Загружает таблицу акселераторов. |
LoadBitmap |
Загружает битовое изображение. |
LoadCursor |
Загружает курсор. |
LoadIcon |
Загружает иконку. |
LoadMenu |
Загружает меню. |
LoadString |
Загружает элемент таблицы строк. |
Например, приложение должно и c пользовать функцию LoadIcon для загрузки иконки для ее отображения на экране. Тем не менее, приложение должно использовать функции FindResource и LoadResource , если оно загружает иконку для копирования ее данных в другое приложение.
См. также
FindResourceEx , FormatMessage , LoadAccelerators , LoadBitmap , LoadCursor , LoadIcon , LoadMenu , LoadResource , LoadString , LockResource , SizeofResource .