SHGetImageList 函数 (shellapi.h)

检索图像列表。

Syntax

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。 这些映像是由使用 SM_CXSMICON 调用的 GetSystemMetrics 指定的大小,使用 SM_CYSMICON 调用 GetSystemMetrics

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_SMALLSHIL_LARGESHIL_EXTRALARGE 刻度(每英寸点(dpi)。 若要将这些类型设置为 dpi 感知,请调用 SetProcessDPIAware无论 dpi 感知设置如何,SHIL_JUMBO都固定在 256 像素处。

要求

Requirement 价值
最低支持的客户端 Windows XP [仅限桌面应用]
支持的最低服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows操作系统
Header shellapi.h
Library OneCore.Lib
DLL Shell32.dll
API 集 ext-ms-win-shell-shell32-l1-2-2 (在 Windows 10 版本 10.0.14393 中引入)

另请参阅

FileIconInit