ExtractIconA 函数 (shellapi.h)

从指定的可执行文件、DLL 或图标文件获取图标的句柄。

若要检索大图标或小图标的句柄数组,请使用 ExtractIconEx 函数。

语法

HICON ExtractIconA(
  [in] HINSTANCE hInst,
  [in] LPCSTR    pszExeFileName,
       UINT      nIconIndex
);

参数

[in] hInst

类型: HINSTANCE

调用函数的应用程序实例的句柄。

[in] pszExeFileName

类型: LPCTSTR

指向以 null 结尾的字符串的指针,该字符串指定可执行文件、DLL 或图标文件的名称。

nIconIndex

类型: UINT

指定要检索的图标的从零开始的索引。 例如,如果此值为 0,则函数将返回指定文件中第一个图标的句柄。

如果此值为 -1,则函数返回指定文件中图标的总数。 如果文件是可执行文件或 DLL,则返回值是RT_GROUP_ICON资源数。 如果文件为 。ICO 文件,返回值为 1。

如果此值是不等于 –1 的负数,则函数将返回指定文件中其资源标识符等于 nIconIndex 绝对值的图标的句柄。 例如,应使用 –3 提取其资源标识符为 3 的图标。 若要提取资源标识符为 1 的图标,请使用 ExtractIconEx 函数。

返回值

类型: HICON

返回值是图标的句柄。 如果指定的文件不是可执行文件、DLL 或图标文件,则返回值为 1。 如果未在文件中找到任何图标,则返回值为 NULL

注解

不再需要它时,必须通过调用 DestroyIcon 函数来销毁 ExtractIcon 返回的图标句柄。

注意

shellapi.h 标头将 ExtractIcon 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

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

另请参阅

ExtractAssociatedIcon

ExtractAssociatedIconEx

ExtractIconEx