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


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

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

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

Синтаксис

UINT PrivateExtractIconsW(
  [in]            LPCWSTR 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

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

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

Замечания

Эта функция извлекает из исполняемых файлов (.exe), DLL (.dll), значка (.ico), курсора (.cur), анимированного курсора (.ani) и файлов растрового изображения (.bmp). Также поддерживаются извлечения из исполняемых файлов Windows 3.x 16 (.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 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка winuser.h
библиотеки User32.lib
DLL User32.dll
набор API ext-ms-win-ntuser-misc-l1-5-1 (представлено в Windows 10 версии 10.0.14393)

См. также

концептуальные

DestroyIcon

ExtractIcon

ExtractIconEx

значки

Справочник