SHGetImageList 函数 (shellapi.h)

检索图像列表。

语法

SHSTDAPI SHGetImageList(
  [in]  int    iImageList,
  [in]  REFIID riid,
  [out] void   **ppvObj
);

参数

[in] iImageList

类型: int

列表中包含的图像类型。 以下值之一:

SHIL_LARGE (0x0)

0x0。 图像大小通常为 32x32 像素。 但是,如果从“显示属性”“外观”选项卡的“效果”部分选择了“使用大图标”选项,则图像为 48x48 像素。

SHIL_SMALL (0x1)

0x1。 这些图像是 Shell 标准小图标大小 16x16,但用户可自定义大小。

SHIL_EXTRALARGE (0x2)

0x2。 这些图像是 Shell 标准超大图标大小。 这通常是 48x48,但用户可自定义大小。

SHIL_SYSSMALL (0x3)

0x3。 这些图像是 GetSystemMetrics 使用 SM_CXSMICONgetSystemMetrics 使用 SM_CYSMICON 指定的大小。

SHIL_JUMBO (0x4)

0x4。 Windows Vista 及更高版本。 图像通常为 256x256 像素。

SHIL_LAST

用于验证的最大有效标志值。

[in] riid

类型: REFIID

对图像列表接口标识符的引用,通常IID_IImageList。

[out] ppvObj

类型: void**

此方法返回时,包含 riid 中请求的接口指针。 这通常是 IImageList

返回值

类型: HRESULT

如果此函数成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

IImageList 指针类型(如 ppv 参数中返回的指针类型)可以根据需要转换为 HIMAGELIST;例如,用于列表视图。 相反, HIMAGELIST 可以强制转换为 指向 IImageList 的指针。

从 Windows Vista 开始, 如果进程标记为 dpi 感知,则SHIL_SMALL、 SHIL_LARGESHIL_EXTRALARGE 缩放(每英寸点数 (dpi) )。 若要将这些类型设置为 dpi 感知,请调用 SetProcessDPIAware无论 dpi 感知设置如何,SHIL_JUMBO都固定为 256 像素。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 shellapi.h
DLL Shell32.dll
API 集 Windows 10版本 10.0.14393 中引入的 ext-ms-win-shell-shell32-l1- (2-2)

另请参阅

FileIconInit