IExtractIconA 接口 (shlobj_core.h)

公开允许客户端检索与文件夹中某个对象关联的图标的方法。

遗产

IExtractIcon 接口继承自 IUnknown 接口。 IExtractIcon 也有以下类型的成员:

方法

IExtractIconA 接口具有这些方法。

 
IExtractIconA::Extract

从指定位置提取图标图像。 (ANSI)
IExtractIconA::GetIconLocation

获取图标的位置和索引。 (ANSI)

言论

有两种方法可以检索对象的图标。 最简单的方法是调用 SHGetFileInfo。 但是,此方法不灵活,可能很慢。 检索项图标的更灵活、更高效的方法是使用 IExtractIcon。 Shell 使用 IExtractIcon 在显示文件夹内容时检索图标。 若要使用 IExtractIcon 检索对象的图标,请执行以下操作:

  1. 获取指向包含对象的文件夹的 IShellFolder 接口的指针。
  2. 调用 IShellFolder::GetUIObjectOf,该指针指向对象的项标识符列表(PIDL),以及 IExtractIcon(IID_IExtractIcon) 的接口 ID。 该文件夹创建一个对象来处理图标提取,并返回对象的 IExtractIcon 接口指针。
  3. 调用 IExtractIcon::GetIconLocation 以检索图标的位置。
  4. 调用 IExtractIcon::Extract 以检索图标的句柄。
也可以在后台线程上异步提取图标。 当提取操作非常耗时时,此方法非常有用。 有关详细信息,请参阅 IExtractIcon::GetIconLocation

命名空间扩展 实现 IExtractIcon,以提供其对象的图标。 客户端通过调用文件夹的 IShellFolder::GetUIObjectOf 方法获取文件夹中对象的 IExtractIcon 接口指针。 IShellFolder::GetUIObjectOf 实现必须创建一个对象来处理图标提取,并返回指向对象的 IExtractIcon 接口的指针。

图标处理程序 还实现 IExtractIcon。 图标处理程序是一种 Shell 扩展处理程序类型,可用于将图标动态分配给 文件类型的成员

如果应用程序需要比 SHGetFileInfo更灵活的方法来检索对象的图标,请调用此接口。

注意

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

要求

要求 价值
最低支持的客户端 Windows XP [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
目标平台 窗户
标头 shlobj_core.h