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


Функция PrivateExtractIconsA (winuser.h)

[Эта функция не предназначена для общего использования. Он может быть изменен или недоступен в последующих версиях Windows.]

Создает массив дескрипторов для значков, извлеченных из указанного файла.

Синтаксис

UINT PrivateExtractIconsA(
  [in]            LPCSTR szFileName,
  [in]            int    nIconIndex,
  [in]            int    cxIcon,
  [in]            int    cyIcon,
  [out, optional] HICON  *phicon,
  [out, optional] UINT   *piconid,
  [in]            UINT   nIcons,
  [in]            UINT   flags
);

Параметры

[in] szFileName

Тип: LPCTSTR

Путь и имя файла, из которого извлекаются значки.

[in] nIconIndex

Тип: int

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

[in] cxIcon

Тип: int

Требуемый размер горизонтального значка. См. заметки.

[in] cyIcon

Тип: int

Требуемый размер вертикального значка. См. заметки.

[out, optional] phicon

Тип: HICON*

Указатель на возвращенный массив дескрипторов значков.

[out, optional] piconid

Тип: UINT*

Указатель на возвращенный идентификатор ресурса для значка, который лучше всего подходит для текущего устройства отображения. Возвращаемый идентификатор 0xFFFFFFFF, если идентификатор недоступен для этого формата. Возвращаемый идентификатор равен 0, если идентификатор невозможно получить иным способом.

[in] nIcons

Тип: UINT

Количество значков, извлекаемых из файла. Этот параметр допустим только при извлечении из файлов .exe и .dll.

[in] flags

Тип: UINT

Задает флаги, управляющие этой функцией. Эти флаги являются флагами LR_*, используемыми функцией LoadImage .

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

Тип: UINT

Если параметр phicon имеет значение NULL и эта функция завершается успешно, то возвращаемое значение — это количество значков в файле. Если функция завершается ошибкой, возвращаемое значение равно 0.

Если параметр phicon не равен NULL и функция завершается успешно, то возвращаемое значение — это количество извлеченных значков. В противном случае возвращаемое значение 0xFFFFFFFF, если файл не найден.

Комментарии

Эта функция извлекает из исполняемых файлов (.exe), DLL (.dll), icon (ICO), курсора (.cur), анимированного курсора (.ani) и точечных изображений (.bmp). Также поддерживаются извлечения из 16-разрядных исполняемых файлов Windows 3.x (.exe или .dll).

Параметры cxIcon и cyIcon указывают размер извлекаемых значков. Два размера можно извлечь, поместив первый размер в поле LOWORD параметра, а второй — в HIWORD. Например, MAKELONG(24, 48) для параметров cxIcon и cyIcon извлекаются значки размером 24 и 48.

Необходимо уничтожить все значки, извлеченные PrivateExtractIcons , вызвав функцию DestroyIcon .

Эта функция не была включена в заголовки и библиотеки пакета SDK до Windows XP с пакетом обновления 1 (SP1) и Windows Server 2003. Если у вас нет файла заголовка и библиотеки импорта для этой функции, можно вызвать функцию с помощью LoadLibrary и GetProcAddress.

Примечание

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

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header winuser.h
Библиотека User32.lib
DLL User32.dll
Набор API ext-ms-win-ntuser-misc-l1-5-1 (представлено в Windows 10 версии 10.0.14393)

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

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

DestroyIcon

ExtractIcon

ExtractIconEx

Значки

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