SHGetIconOverlayIndexW 函数 (shlobj_core.h)

返回系统映像列表中覆盖图标的索引。

语法

int SHGetIconOverlayIndexW(
  [in, optional] LPCWSTR pszIconPath,
                 int     iIconIndex
);

参数

[in, optional] pszIconPath

类型: LPCTSTR

指向最大长度 为 null 的字符串MAX_PATH的指针,该字符串包含包含图标的文件的完全限定路径。

iIconIndex

类型: int

pszIconPath 指向的文件中图标的索引。 若要请求标准覆盖图标,请将 pszIconPath 设置为 NULL,并将 iIconIndex 设置为以下选项之一:

IDO_SHGIOI_SHARE (0x0FFFFFFF)

指示共享文件夹的覆盖图标。

指示链接的文件夹或文件的覆盖图标。

IDO_SHGIOI_SLOWFILE (0x0FFFFFFD)

指示文件速度缓慢的覆盖图标。

IDO_SHGIOI_DEFAULT (0x0FFFFFFC)

Windows 7 及更高版本。 指示项是集合中的默认值的覆盖图标。 一个示例是默认打印机。

返回值

类型: int

如果成功,则返回系统映像列表中覆盖图标的索引,否则返回 -1。

注解

图标覆盖层是系统映像列表的一部分。 它们具有两个标识符。 第一个是一个从 1 开始的覆盖索引,用于标识相对于图像列表中的其他覆盖层的覆盖。 另一个是标识实际图像的图像索引。 这两个索引等效于将图标覆盖添加到具有ImageList_SetOverlayImage的专用映像列表时,分别分配给 iOverlayiImage 参数的值。 SHGetIconOverlayIndex 返回覆盖索引。 若要将覆盖索引转换为其等效的图像索引,请调用 INDEXTOOVERLAYMASK

注意 在初始化期间将映像加载到系统映像列表中后,无法更改它。 pszIconPathiIconIndex 指定的文件名和索引仅用于标识图标覆盖。 SHGetIconOverlayIndex 不能用于修改系统映像列表。
 

注意

shlobj_core.h 标头将 SHGetIconOverlayIndex 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 shlobj_core.h (包括 Shlobj.h、Shlobj_core.h)
Library Shell32.lib
DLL Shell32.dll (5.0 或更高版本)

另请参阅

IShellIconOverlay

IShellIconOverlayIdentifier