Функция FindResourceEx выясняет расположение ресурса с заданным типом, именем и языком в указанном модуле.
Синтаксис
HRSRC FindResourceEx( HMODULE hModule, LPCTSTR lpType, LPCTSTR lpName, WORD wLanguage ); |
Параметры
hModule
[in] Дескриптор модуля, исполняемый файл которого содержит ресурс. Если этот параметр - ПУСТО (NULL), функция ищет модуль, использованный для создания текущего процесса.lpType
[in] Указатель на строку с нуль-терминатором в конце, определяющую имя типа ресурса. Для получения дополнительной информации, см. раздел Замечаний. О типах стандартных ресурсов смотрите в статье Типы ресурсов.lpName
[in] Указатель на строку с нуль-терминатором в конце, определяющую имя ресурса. Для получения дополнительной информации, см. раздел Замечаний.wLanguage
[in] Устанавливает язык ресурса. Если этот параметр - MAKELANGID (LANG_NEUTRAL, SUBLANG_NEUTRAL), используется текущий язык, связанный с вызывающим потоком.Чтобы установить другой, а не текущий язык, для создания этого параметра используйте макрос MAKELANGID. Для получения дополнительной информации, см. описание MAKELANGID.
Возвращаемое значение
Если функция завершается успешно, возвращаемое значение - дескриптор информационного блока указанного ресурса. Чтобы применить дескриптор ресурса, передайте его в функцию LoadResource.
Если функция завершается ошибкой, возвращаемое значение - ПУСТО (NULL). Чтобы получить дополнительную информацию об ошибке, вызовите GetLastError.
Замечания
Если IS_INTRESOURCE (x) - ИСТИНА (TRUE), где х = lpType или lpNamel, то x устанавливает целочисленный идентификатор типа или имени данного ресурса. В противном случае, этот параметр - дальний указатель на символьную строку с нулем в конце. Если первый символ строки - знак решетки (#), остальные знаки обозначают десятичное число, которое устанавливает целочисленный идентификатор имени или типа ресурса. Например, символьная строка "#258" обозначает идентификатор 258.
Чтобы уменьшить объем памяти, требуемый для ресурса, приложение вместо имени должно обращаться к этому целочисленному идентификатору.
Приложение может использовать функцию FindResourceEx, чтобы найти любой тип ресурса, но эта функция должна использоваться, только в том случае, если прикладная программа должна получить доступ к двоичным данным ресурса при производстве последующих вызовов функции LockResource.
Чтобы ресурс использовать непосредственно, приложение должно использовать одну из ниже перечисленных определяющих ресурс функций, которые находят и загружают ресурсы при первом вызове.
Функция | Действие |
---|---|
FormatMessage | Загружает и форматирует запись таблицы сообщений. |
LoadAccelerators | Загружает таблицу клавиш-ускорителей. |
LoadBitmap | Загружает ресурс точечного рисунка. |
LoadCursor | Загружает ресурс курсора. |
LoadIcon | Загружает ресурс значка. |
LoadMenu | Загружает ресурс меню. |
LoadString | Загружает запись таблицы строк. |
Например, приложение может использовать
функцию LoadIcon, чтобы загрузить значок для
вывода на экран. Однако, программа должна
использовать функции FindResourceEx и LoadResource, если
она загружает значок, чтобы копировать его
данные в другое приложение. Строковые ресурсы сохраняются группами
по 16 строк в группе. Символьные строки в
каждой группе сохраняются как
последовательность подсчитанных (без
символа конца строки ('0')) строк Unicode. Функция
LoadString извлечет строковый ресурс из его
соответствующей группы.
Пример см. в статье Создание списка ресурсов.
Смотри такжеОбзор Ресурсы, Функции, используемые ресурсами, FindResource, FormatMessage, IS_INTRESOURCE, LoadAccelerators, LoadBitmap, LoadCursor, LoadIcon, LoadMenu, LoadString, LoadResource, MAKELANGID
Размещение и совместимость FindResourceEx |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 3.1 и выше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
Kernel32.lib |
Заголовочный файл |
|
- объявлено в |
Winbase.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |