SHDefExtractIconW 函数 (shlobj_core.h)
提供用于从文件中提取图标的默认处理程序。
语法
SHSTDAPI SHDefExtractIconW(
[in] LPCWSTR pszIconFile,
int iIndex,
[in] UINT uFlags,
[out, optional] HICON *phiconLarge,
[out, optional] HICON *phiconSmall,
UINT nIconSize
);
参数
[in] pszIconFile
类型:LPCTSTR
指向以 null 结尾的缓冲区的指针,其中包含从中提取图标的文件的路径和名称。
iIndex
类型:int
pszIconFile中命名的文件中图标的位置。 如果这是一个正数,则表示文件中图标的从零开始的位置。 例如,0 引用资源文件中的第 1 个图标,2 引用第 3 个图标。 如果这是负数,则表示图标的资源 ID。
[in] uFlags
类型:UINT
用于控制图标提取的标志。
GIL_SIMULATEDOC
覆盖默认文档图标上的提取图标以创建最终图标。 当找不到或检索任何适当的图标时,可以使用此图标。
[out, optional] phiconLarge
类型:HICON*
指向 HICON 的指针,当此函数成功返回时,接收 nIconSizeLOWORD 中指定的大型图标版本的句柄。 此值可以 NULL。
[out, optional] phiconSmall
类型:HICON*
指向 HICON 的指针,当此函数成功返回时,接收在 nIconSizeHIWORD 中指定的小版本的图标的句柄。
nIconSize
类型:UINT
一个值,该值包含其 LOWORD 中的大图标大小及其 HIWORD中的小图标大小。 大小以像素为单位。 传递 0 以指定默认大大小和小大小。
返回值
类型:HRESULT
此函数可以返回其中一个值。
返回代码 | 描述 |
---|---|
|
成功。 |
|
请求的图标不存在。 |
|
无法访问该文件,或者正在通过慢速链接进行访问。 |
言论
调用方有责任在不再需要图标资源时释放通过此函数创建的图标资源。 这可以通过 DestroyIcon 函数来完成。
注意
shlobj_core.h 标头将 SHDefExtractIcon 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows XP [仅限桌面应用] |
支持的最低服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | 窗户 |
标头 | shlobj_core.h(包括 Shlobj.h、Shlobj_core.h) |
库 | Shell32.lib |
DLL | Shell32.dll(版本 6.0 或更高版本) |
API 集 | ext-ms-win-shell-shell32-l1-2-1(在 Windows 10 版本 10.0.10240 中引入) |