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


Функция 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

Если параметр 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 или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

   
Минимальная версия клиента 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

Значки

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