[Now Supported on Windows NT]
检索特定文件夹内的对象的图标。
HRESULT GetIconOf(
LPCITEMIDLIST 【PIDL】, | //指向项目标识符列表 |
UINT 【旗】, | //指定显示状态的标志 |
LPINT 【lpIconIndex】 | //指向要返回图标索引的位置 |
); |
参数
【PIDL】
指向文件夹的相对位置的ITEMIDLIST(项目标识符列表)结构的指针。
【旗】
此参数可以为零或以下值之一:
值 | 含义 |
GIL_FORSHELL | 该图标将显示在一个shell文件夹中。 |
GIL_OPENICON | 如果打开和关闭状态图像都可用,图标应处于“打开”状态。如果未指定此标志,则图标应处于正常或“关闭”状态。此标志通常用于文件夹对象。 |
【lpIconIndex】
指向将返回图标索引的位置的指针。
返回值
如果【lpIconIndex】包含正确的系统imagelist索引,则返回NOERROR。如果无法获取此对象的图标,则返回S_FALSE。
可以返回以下标准的图像列表索引:
值 | 含义 |
0 | 文件(空白页,未关联) |
1 | 文件(带页面上的数据) |
2 | 应用程序(文件扩展名必须为.exe,.com,.bat) |
3 | 文件夹(平原) |
4 | 文件夹(打开) |
备注
如果您无法使用GetIconOf获取此对象的图标,请使用IShellFolder::GetUIObjectOf获取支持IExtractIcon::Extract的对象。
调用注意事项
返回的索引来自系统映像列表。
实施者注意事项
此方法无法在shell本身外部实现。
也可以看看