Функция FindResource определяет местонахождение ресурса с указанным типом и именем в указанном модуле.
() HRSRC FindResource HMODULE hModule, / / модуль обработкиLPCTSTRlpName, / / указатель на название ресурсаLPCTSTRlpType / / тип указателя ресурса);
Значение NULL указывает модуль дескриптор, связанный с файлом образа операционной системы используется для создания текущего процесса.
| Значение | Значение |
|---|---|
| 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 .
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