FindResource

Функция FindResource определяет местонахождение ресурса с указанным типом и именем в указанном модуле.

() HRSRC FindResource HMODULE  hModule, / / модуль обработкиLPCTSTRlpName, / / указатель на название ресурсаLPCTSTRlpType / / тип указателя ресурса);
 

Параметры

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_HTML HTML-документ
RT_ICON Ресурс значка аппаратно зависимую
RT_MENU Ресурс меню
RT_MESSAGETABLE Запись сообщений таблицы
RT_RCDATA Определяемый приложением ресурс (исходных данных)
RT_STRING Запись строк таблицы
RT_VERSION Ресурс версии

Возвращаемые значения

Если функция выполнена успешно, возвращаемое значение является дескриптором для блока сведений о указанного ресурса. Чтобы получить дескриптор для ресурса, этот дескриптор LoadResource функцию передайте.

Если вызов функции был неуспешен, возвращается значение NULL. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.

Примечания

Если старшее слово lpName или lpType параметра равно нулю, младшее слово указывает целочисленный идентификатор имя или тип данного ресурса. В противном случае эти параметры являются длинные указатели на строки с завершающим нулем. Если первый символ строки знак фунта (#), оставшиеся знаки представляют собой десятичное число, которое указывает целочисленный идентификатор имени или типа ресурса. Например строка «# 258» обозначает целочисленный идентификатор 258.

Приложение должно уменьшить объем памяти, необходимый для ресурсов, ссылаясь на них целочисленный идентификатор, а не по имени.

Когда вы закончены, с помощью таблицы сочетаний клавиш, растровые, курсора, значка или меню, можно отпустить его ассоциированных память путем вызова одной из функций в таблице.

Ресурс Функция выпуска
Таблица сочетаний клавиш DestroyAcceleratorTable
Точечный рисунок DeleteObject
Курсор DestroyCursor
Значок DestroyIcon
Меню DestroyMenu

Система автоматически удаляет эти ресурсы после завершения процесса, который создал их, однако, соответствующие функции экономит память и уменьшает размер рабочего множества процесса.

Приложение может использовать FindResource для поиска любого типа ресурса, но эта функция должна использоваться только если приложение должно получить доступ к данным двоичного ресурса при последующих вызовах LoadLibrary и LockResource.

Использовать ресурс немедленно, приложение должно использовать одну из следующих функций отдельных ресурсов для поиска и загрузки ресурсов в одном вызове:

Функция Действия
FormatMessage Загружает и форматирует запись в таблице сообщений.
LoadAccelerators Загружает таблицу сочетаний клавиш.
LoadBitmap Загружает ресурс растрового изображения.
LoadCursor Загружает ресурс курсора.
LoadIcon Загружает ресурс значка.
LoadMenu Загружает ресурс меню.
LoadString Загружает запись в таблице строк.

Например приложение может использовать функцию LoadIcon для загрузки значок для отображения на экране. Однако приложение должно использовать FindResource и LoadResource , если оно загружается значок копировать свои данные в другое приложение.

Строковые ресурсы хранятся в секции до 16 строк одной секции. Строки в каждом разделе хранятся как последовательность (не нулем) строки Юникода. Функция LoadString будет извлекать строковый ресурс из соответствующего раздела.

Windows CE: HModule параметр не может быть NULL ручки.

Параметр lpName не поддерживает Идентификатор ресурса ноль — то есть, FindResource (h, 0, t) не будет работать как ожидалось.

Нельзя передать значения RT_ANICURSOR или RT_ANIICON в параметре lpType .

QuickInfo

nbsp; Windows &NT: требует версии 3.1 или более поздней версии.
Windows:Требует Windows 95 или более поздней версии.
Windows CE:Требует версии 1.0 или более поздней версии.
Заголовок:Объявленные в winbase.h.
Импорта библиотеки:Используйте kernel32.lib.
Юникод:В Unicode и ANSI версий Windows и Windows NT.

Родственные слова

Обзор ресурсов, ресурсов функции, FindResourceEx, FormatMessage, LoadAccelerators, , LoadBitmap, LoadCursor, LoadIcon, LoadMenu, LoadResource, LoadString, LockResource, SizeofResource

Index