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 或更高版本) |