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


Метод IShellIcon::GetIconOf (shobjidl_core.h)

Возвращает значок для объекта в определенной папке.

Синтаксис

HRESULT GetIconOf(
  PCUITEMID_CHILD pidl,
  UINT            flags,
  int             *pIconIndex
);

Параметры

pidl

Тип: LPCITEMIDLIST

Адрес структуры ITEMIDLIST , указывающий относительное расположение папки.

flags

Тип: UINT

Флаги, указывающие способ отображения значка. Этот параметр может быть равен нулю или одному из следующих значений.

GIL_FORSHELL

Значок должен отображаться в папке оболочки.

GIL_OPENICON

Если доступны изображения с открытым и закрытым состоянием, значок должен находиться в открытом состоянии. Если этот флаг не указан, значок должен находиться в закрытом состоянии. Этот флаг обычно используется для объектов папок.

pIconIndex

Тип: LPINT

Адрес индекса значка в списке системных образов. Можно вернуть следующие стандартные индексы списка изображений.

0

Документ (пустая страница, не связанная)

1

Документ (с данными на странице)

2

Приложение (расширение имени файла должно быть .exe, .com или .bat)

3

Папка (обычная)

4

Папка (открыть)

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

Тип: HRESULT

Возвращает S_OK, если lpIconIndex содержит правильный индекс списка системных изображений, или S_FALSE, если не удается получить значок для этого объекта.

Комментарии

Если не удается получить значок для этого объекта с помощью GetIconOf, используйте метод GetUIObjectOf , чтобы получить объект, поддерживающий метод Extract .

IShellIcon::GetIconOf завершается сбоем , если coInitialize не вызывается первым.

Примечание к вызывающим приложениям

Индекс возвращается из списка системных образов.

Примечание для разработчиков

Если используемый индекс значка не является одним из перечисленных стандартных образов, разработчик обязан добавить образ в список системных образов, а затем поместить индекс в параметр lpIconIndex . Чтобы предотвратить слишком большой размер списка системных образов, каждый образ следует добавлять только один раз.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header shobjidl_core.h (включая Shobjidl.h)
DLL Shell32.dll (версия 4.0 или более поздняя)

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

IShellIcon