IExtractIconW 接口 (shlobj_core.h)

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

继承

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

方法

IExtractIconW 接口包含以下方法。

 
IExtractIconW::Extract

从指定位置提取图标图像。 (Unicode)
IExtractIconW::GetIconLocation

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

注解

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

  1. 获取指向包含 对象的文件夹的 IShellFolder 接口的指针。
  2. 使用指向项标识符列表的指针 (对象的 PIDL) 和 IExtractIcon (IID_IExtractIcon) 接口 ID 调用 IShellFolder::GetUIObjectOf。 文件夹创建对象来处理图标提取,并返回对象的 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 [仅限桌面应用]
目标平台 Windows
标头 shlobj_core.h