Функция FindResourceW (libloaderapi.h)
Определяет расположение ресурса с указанным типом и именем в указанном модуле.
Чтобы указать язык, используйте функцию FindResourceEx .
Синтаксис
HRSRC FindResourceW(
[in, optional] HMODULE hModule,
[in] LPCWSTR lpName,
[in] LPCWSTR lpType
);
Параметры
[in, optional] hModule
Тип: HMODULE
Дескриптор модуля, чей переносимый исполняемый файл или сопутствующий файл MUI содержит ресурс. Если этот параметр имеет значение NULL, функция выполняет поиск в модуле, используемом для создания текущего процесса.
[in] lpName
Тип: LPCTSTR
Имя ресурса. Кроме того, вместо указателя этот параметр может иметь значение MAKEINTRESOURCE(ID), где ID — это целочисленный идентификатор ресурса. Дополнительные сведения см. в разделе Примечания ниже.
[in] lpType
Тип: LPCTSTR
Тип ресурса. Кроме того, вместо указателя этот параметр может иметь значение MAKEINTRESOURCE(ID), где ID — это целочисленный идентификатор заданного объекта.
тип ресурса. Сведения о стандартных типах ресурсов см. в разделе Типы ресурсов. Дополнительные сведения см. в разделе Примечания ниже.
Возвращаемое значение
Тип: HRSRC
Если функция выполняется успешно, возвращаемое значение представляет собой дескриптор блока сведений указанного ресурса. Чтобы получить дескриптор ресурса, передайте этот дескриптор в функцию LoadResource .
Если функция завершается сбоем, возвращается значение NULL. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
Если IS_INTRESOURCE имеет значение TRUE для x = lpName или lpType, x задает целочисленный идентификатор имени или типа заданного ресурса. В противном случае эти параметры являются длинными указателями на строки, завершающиеся null. Если первым символом строки является знак фунта (#), остальные символы представляют десятичное число, указывающее целочисленный идентификатор имени или типа ресурса. Например, строка "#258" представляет целочисленный идентификатор 258.
Чтобы уменьшить объем памяти, необходимый для ресурса, приложение должно ссылаться на него по целочисленным идентификаторам, а не по имени.
Приложение может использовать FindResource для поиска любого типа ресурса, но эту функцию следует использовать только в том случае, если приложение должно получить доступ к данным двоичных ресурсов путем последующих вызовов LoadResource , а затем LockResource.
Чтобы использовать ресурс немедленно, приложение должно использовать одну из следующих функций для конкретных ресурсов, чтобы найти ресурс и преобразовать данные в более удобную форму.
Функция | Действие |
---|---|
FormatMessage | Загружает и форматирует запись таблицы сообщений. |
LoadAccelerators | Загружает таблицу ускорителей. |
LoadBitmap | Загружает ресурс растрового изображения. |
LoadCursor | Загружает ресурс курсора. |
LoadIcon | Загружает ресурс значка. |
LoadMenu | Загружает ресурс меню. |
LoadString | Загружает запись таблицы строк. |
Например, приложение может использовать функцию LoadIcon для загрузки значка для отображения на экране. Однако приложение должно использовать FindResource и LoadResource , если загружает значок для копирования данных в другое приложение.
Строковые ресурсы хранятся в разделах до 16 строк на каждый раздел. Строки в каждом разделе хранятся в виде последовательности подсчитываемых (не обязательно завершаемых null) строк Юникода. Функция LoadString извлекает строковый ресурс из соответствующего раздела.
Примеры
Пример см. в разделе Обновление ресурсов.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | libloaderapi.h (включая Windows.h) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |
См. также
Основные понятия
FindResourceEx
FormatMessage
IS_INTRESOURCE
LoadAccelerators
LoadBitmap
LoadCursor
LoadIcon
LoadMenu
LoadResource
LoadString
LockResource
Другие ресурсы
Справочные материалы