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


Функция ExtractIconA (shellapi.h)

Возвращает дескриптор значка из указанного исполняемого файла, библиотеки DLL или файла значка.

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

Синтаксис

HICON ExtractIconA(
  [in] HINSTANCE hInst,
  [in] LPCSTR    pszExeFileName,
       UINT      nIconIndex
);

Параметры

[in] hInst

Тип: HINSTANCE

Дескриптор экземпляра приложения, вызывающего функцию.

[in] pszExeFileName

Тип: LPCTSTR

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

nIconIndex

Тип: UINT

Указывает отсчитываемый от нуля индекс извлекаемого значка. Например, если это значение равно 0, функция возвращает дескриптор первому значку в указанном файле.

Если это значение равно -1, функция возвращает общее количество значков в указанном файле. Если файл является исполняемым файлом или библиотекой DLL, возвращаемым значением является количество RT_GROUP_ICON ресурсов. Если файл является . ICO-файл, возвращаемое значение — 1.

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

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

Тип: HICON

Возвращаемое значение — это дескриптор значка. Если указанный файл не является исполняемым файлом, библиотекой DLL или файлом значка, возвращается значение 1. Если в файле не найдены значки, возвращаемое значение равно NULL.

Комментарии

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

Примечание

Заголовок shellapi.h определяет ExtractIcon как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header shellapi.h
DLL Shell32.dll
Набор API ext-ms-win-shell-shell32-l1-2-1 (представлено в Windows 10 версии 10.0.10240)

См. также раздел

ExtractAssociatedIcon

ExtractAssociatedIconEx

ExtractIconEx