Compartilhar via


Interface IExtractIconA (shlobj_core.h)

Expõe métodos que permitem que um cliente recupere o ícone associado a um dos objetos em uma pasta.

Herança

A interface IExtractIcon herda da interface IUnknown . IExtractIcon também tem estes tipos de membros:

Métodos

A interface IExtractIconA tem esses métodos.

 
IExtractIconA::Extract

Extrai uma imagem de ícone do local especificado. (ANSI)
IExtractIconA::GetIconLocation

Obtém o local e o índice de um ícone. (ANSI)

Observações

Há duas maneiras de recuperar o ícone de um objeto. A maneira mais simples é chamar SHGetFileInfo. No entanto, essa abordagem é inflexível e pode ser lenta. Uma maneira mais flexível e eficiente de recuperar o ícone de um item é usar IExtractIcon . O Shell usa IExtractIcon para recuperar ícones quando exibe o conteúdo de uma pasta. Para usar IExtractIcon para recuperar o ícone de um objeto, faça o seguinte:

  1. Obtenha um ponteiro para a interface IShellFolder da pasta que contém o objeto.
  2. Chame IShellFolder::GetUIObjectOf com o ponteiro para uma PIDL (lista de identificadores de item) do objeto e a ID da interface de IExtractIcon (IID_IExtractIcon). A pasta cria um objeto para lidar com a extração de ícones e retorna o ponteiro de interface IExtractIcon do objeto.
  3. Chame IExtractIcon::GetIconLocation para recuperar a localização do ícone.
  4. Chame IExtractIcon::Extract para recuperar o identificador do ícone.
Também pode ser possível extrair ícones de forma assíncrona em um thread de plano de fundo. Essa abordagem é útil quando a extração é uma operação demorada. Para obter detalhes, consulte IExtractIcon::GetIconLocation.

extensões de namespace implementar IExtractIcon para fornecer ícones para seus objetos. Um cliente obtém um ponteiro de interface IExtractIcon para um objeto em uma pasta chamando o método IShellFolder::GetUIObjectOf da pasta. A implementação IShellFolder::GetUIObjectOf deve criar um objeto para lidar com a extração de ícones e retornar um ponteiro para a interface de IExtractIcon do objeto.

os manipuladores de ícone de também implementar IExtractIcon. Um manipulador de ícones é um tipo de manipulador de extensão shell que permite atribuir ícones dinamicamente aos membros de um tipo de arquivo .

Chame essa interface se o aplicativo precisar de uma maneira mais flexível para recuperar o ícone de um objeto do que SHGetFileInfo.

Nota

O cabeçalho shlobj_core.h define IExtractIcon como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows XP [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho shlobj_core.h