检索图像列表。
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_SMALL、 SHIL_LARGE和 SHIL_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 中引入) |