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