Функция 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) |
См. также раздел
Основные понятия
Справочные материалы