IShellIcon::GetIconOf 方法 (shobjidl_core.h)

获取特定文件夹中对象的图标。

语法

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

参数

pidl

类型: LPCITEMIDLIST

指定文件夹相对位置的 ITEMIDLIST 结构的地址。

flags

类型: UINT

指定图标的显示方式的标志。 此参数可以是零个值,也可以是以下值之一。

GIL_FORSHELL

图标将显示在 Shell 文件夹中。

GIL_OPENICON

如果打开状态和关闭状态映像都可用,则图标应处于打开状态。 如果未指定此标志,则图标应处于关闭状态。 此标志通常用于文件夹对象。

pIconIndex

类型: LPINT

系统映像列表中图标的索引地址。 可以返回以下标准映像列表索引。

0

文档 (空白页,未关联的)

1

使用页面上) 上的数据记录 (

2

应用程序 (文件扩展名必须为 .exe、.com或 .bat)

3

文件夹 (纯)

4

文件夹 (打开)

返回值

类型: HRESULT

如果 lpIconIndex 包含正确的系统图像列表索引,则返回S_OK;如果无法获取此对象的图标,则返回S_FALSE。

注解

如果无法使用 GetIconOf 检索此对象的图标,请使用 GetUIObjectOf 方法检索支持 Extract 方法的对象。

如果未首先调用 CoInitialize,IShellIcon::GetIconOf 将失败。

调用应用程序的注释

返回的索引来自系统映像列表。

对实现者的说明

如果使用的图标索引不是列出的标准映像之一,则实施者负责将图像添加到系统映像列表,然后将索引放入 lpIconIndex 参数。 若要防止系统映像列表过大,每个映像只能添加一次。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 shobjidl_core.h (包括 Shobjidl.h)
DLL Shell32.dll (版本 4.0 或更高版本)

另请参阅

IShellIcon