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)

Comentários

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 manipular a extração de ícones e retorna o ponteiro da 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 em segundo plano. Essa abordagem é útil quando a extração é uma operação demorada. Para obter detalhes, consulte IExtractIcon::GetIconLocation.

As extensões de namespaceimplementam 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 manipular a extração de ícones e retornar um ponteiro para a interface IExtractIcon do objeto.

Manipuladores de ícones também implementam 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 de recuperar o ícone de um objeto do que SHGetFileInfo.

Observação

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 de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

   
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho shlobj_core.h