SHGetIconOverlayIndexA 函数 (shlobj_core.h)

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

语法

int SHGetIconOverlayIndexA(
  [in, optional] LPCSTR 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。

言论

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

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

注意

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

要求

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

另请参阅

IShellIconOverlay

IShellIconOverlayIdentifier