SHGetIconOverlayIndexA 函数 (shlobj_core.h)

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

语法

int SHGetIconOverlayIndexA(
  [in, optional] LPCSTR pszIconPath,
                 int    iIconIndex
);

参数

[in, optional] pszIconPath

类型: LPCTSTR

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

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