Поделиться через


Функция FindResourceExA (winbase.h)

Определяет расположение ресурса с указанным типом, именем и языком в указанном модуле.

Синтаксис

HRSRC FindResourceExA(
  [in, optional] HMODULE hModule,
  [in]           LPCSTR  lpType,
  [in]           LPCSTR  lpName,
  [in]           WORD    wLanguage
);

Параметры

[in, optional] hModule

Тип: HMODULE

Дескриптор модуля, чей переносимый исполняемый файл или сопутствующий файл MUI содержит ресурс. Если этот параметр имеет значение NULL, функция выполняет поиск в модуле, используемом для создания текущего процесса.

[in] lpType

Тип: LPCTSTR

Тип ресурса. Кроме того, вместо указателя этот параметр может иметь значение MAKEINTRESOURCE(ID), где ID — это целочисленный идентификатор заданного объекта.

тип ресурса. Сведения о стандартных типах ресурсов см. в разделе Типы ресурсов. Дополнительные сведения см. в разделе Примечания ниже.

[in] lpName

Тип: LPCTSTR

Имя ресурса. Кроме того, вместо указателя этот параметр может иметь значение MAKEINTRESOURCE(ID), где ID — это целочисленный идентификатор ресурса. Дополнительные сведения см. в разделе Примечания ниже.

[in] wLanguage

Тип: WORD

Язык ресурса. Если этот параметр имеет значение MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), используется текущий язык, связанный с вызывающим потоком.

Чтобы указать язык, отличный от текущего, используйте макрос MAKELANGID для создания этого параметра. Дополнительные сведения см. в разделе MAKELANGID.

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

Тип: HRSRC

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

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

Комментарии

Если IS_INTRESOURCE имеет значение TRUE для x = lpType или lpName, x задает целочисленный идентификатор типа или имени заданного ресурса. В противном случае эти параметры являются длинными указателями на строки, завершающиеся null. Если первым символом строки является знак фунта (#), остальные символы представляют десятичное число, указывающее целочисленный идентификатор имени или типа ресурса. Например, строка "#258" представляет целочисленный идентификатор 258.

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

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

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

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

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

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

Примеры

Пример см. в разделе Создание списка ресурсов.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header winbase.h (включая Windows.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

Основные понятия

FindResource

FormatMessage

IS_INTRESOURCE

LoadAccelerators

LoadBitmap

LoadCursor

LoadIcon

LoadMenu

LoadResource

LoadString

MAKELANGID

Другие ресурсы

Справочные материалы

Ресурсы