PrivateExtractIconsW 函数 (winuser.h)
[此函数不适用于常规用途。 它在后续版本的 Windows 中可能已更改或不可用。]
创建从指定文件中提取的图标的句柄数组。
语法
UINT PrivateExtractIconsW(
[in] LPCWSTR szFileName,
[in] int nIconIndex,
[in] int cxIcon,
[in] int cyIcon,
[out, optional] HICON *phicon,
[out, optional] UINT *piconid,
[in] UINT nIcons,
[in] UINT flags
);
参数
[in] szFileName
类型: LPCTSTR
要从中提取图标 () 的文件的路径和名称。
[in] nIconIndex
类型: int
要提取的第一个图标的从零开始的索引。 例如,如果此值为零,则函数提取指定文件中的第一个图标。
[in] cxIcon
类型: int
所需的水平图标大小。 请参阅“备注”。
[in] cyIcon
类型: int
所需的垂直图标大小。 请参阅“备注”。
[out, optional] phicon
类型: HICON*
指向返回的图标句柄数组的指针。
[out, optional] piconid
类型: UINT*
指向图标返回的资源标识符的指针,该图标最适合当前显示设备。 如果标识符不可用于此格式,则返回的标识符0xFFFFFFFF。 如果无法以其他方式获取标识符,则返回的标识符为 0。
[in] nIcons
类型: UINT
要从文件中提取的图标数。 仅当从 .exe 和 .dll 文件中提取时,此参数才有效。
[in] flags
类型: UINT
指定控制此函数的标志。 这些标志是 LoadImage 函数使用的LR_* 标志。
返回值
类型: UINT
如果 phicon 参数为 NULL 并且此函数成功,则返回值是文件中的图标数。 如果函数失败,则返回值为 0。
如果 phicon 参数不为 NULL 且函数成功,则返回值是提取的图标数。 否则,如果未找到该文件,则返回值0xFFFFFFFF。
注解
此函数从可执行文件 (.exe) 、DLL (.dll) 、icon (.ico) 、cursor (.cur) 、动画光标 (.ani) 和位图 (.bmp) 文件中提取。 还支持从 Windows 3.x 16 位可执行文件 (.exe 或 .dll) 提取。
cxIcon 和 cyIcon 参数指定要提取的图标的大小。 通过将第一个大小放在 参数的 LOWORD 中,将第二个大小放在 HIWORD 中,可以提取两个大小。
例如, MAKELONG(24, 48)
对于 cxIcon 和 cyIcon 参数,将提取 24 和 48 大小的图标。
必须通过调用 DestroyIcon 函数来销毁 PrivateExtractIcons 提取的所有图标。
在 Windows XP Service Pack 1 (SP1) 和 Windows Server 2003 之前,SDK 标头和库中不包含此函数。 如果没有此函数的头文件和导入库,可以使用 LoadLibrary 和 GetProcAddress 调用该函数。
注意
winuser.h 标头将 PrivateExtractIcons 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | winuser.h |
Library | User32.lib |
DLL | User32.dll |
API 集 | 在 Windows 10 版本 10.0.14393 中引入的 ext-ms-win-ntuser-misc-l1-5-1 () |
请参阅
概念性
引用