Partilhar via


Trabalhando com extensões do ambiente de linha de comando

Os recursos do Shell podem ser estendidos com entradas de registro e arquivos .ini. Embora essa abordagem para estender o Shell seja simples e adequada para muitos propósitos, ela é limitada. Por exemplo, se você usar o Registro para especificar um ícone personalizado para um tipo de arquivo, o mesmo ícone aparecerá para cada arquivo desse tipo. Estender o Shell com o registro não permite que você varie o ícone para diferentes membros do tipo de arquivo. Outros aspetos do Shell, como a pasta de propriedades que pode ser exibida quando um ficheiro é clicado com o botão direito do rato, não podem ser modificados com o Registo.

Uma abordagem mais poderosa e flexível para estender o Shell é implementar manipuladores de extensão de shell . Esses manipuladores podem ser implementados para uma variedade de ações que o Shell pode tomar. Antes de executar a ação, o Shell consulta o manipulador de extensão, dando-lhe a oportunidade de modificar a ação. Um exemplo comum é um manipulador de extensão de menu de atalho. Se um for implementado para um tipo de arquivo, ele será consultado toda vez que um dos arquivos for clicado com o botão direito do mouse. O manipulador pode especificar itens de menu adicionais arquivo por arquivo, em vez de ter o mesmo conjunto para todos os arquivos desse tipo de arquivo.

Este conjunto de tópicos discute como implementar os manipuladores de extensão que permitem modificar uma variedade de ações do Shell. Os manipuladores a seguir estão associados a um tipo de arquivo específico e permitem que você especifique arquivo por arquivo.

Manipulador Descrição
Manipulador de menu de atalho Chamado antes que o menu de atalho de um arquivo seja exibido. Ele permite que você adicione itens ao menu de atalho em uma base arquivo por arquivo.
Manipulador de dados Chamado quando uma operação de arrastar e soltar é executada em objetos do Shell. Ele permite que você forneça formatos de área de transferência adicionais para o destino de queda.
Manipulador de gotas Chamado quando um objeto de dados é arrastado ou solto em um arquivo. Ele permite que você transforme um arquivo em um alvo de soltar.
Manipulador de ícones Chamado antes que o ícone de um arquivo seja exibido. Ele permite que você substitua o ícone padrão do arquivo por um ícone personalizado em cada arquivo.
Manipulador de folha de propriedades Chamado antes que o Propriedades folha de propriedades de um objeto seja exibido. Ele permite que você adicione ou substitua páginas.
manipulador de imagens em miniatura Fornece uma imagem para representar o item.
Infotip manipulador Fornece texto pop-up quando o usuário passa o ponteiro do mouse sobre o objeto.
Manipulador de metadados Fornece acesso de leitura e gravação a metadados (propriedades) armazenados em um arquivo. Isso pode ser usado para estender o modo de exibição Detalhes, dicas de informações, a página de propriedades e os recursos de agrupamento.

 

Outros não estão associados a um tipo de arquivo específico, mas são chamados antes de algumas operações do Shell.

Manipulador Descrição
Manipulador de coluna Chamado pelo Windows Explorer antes de exibir a vista Detalhes de uma pasta. Ele permite que você adicione colunas personalizadas ao modo de exibição Detalhes.
Manipulador de gancho de cópia Chamado quando uma pasta ou objeto de impressora está prestes a ser movido, copiado, excluído ou renomeado. Ele permite que você aprove ou vete a operação.
Manipulador de arrastar e soltar Chamado quando um arquivo é arrastado com o botão direito do mouse. Ele permite que você modifique o menu de atalho que é exibido.
manipulador de sobreposição de ícones Chamado antes que o ícone de um arquivo seja exibido. Ele permite que você especifique uma sobreposição para o ícone do arquivo.
Manipulador de pesquisa Chamado para lançar um motor de busca. Ele permite que você implemente um mecanismo de pesquisa personalizado acessível a partir do menu Iniciar ou do Windows Explorer.

 

Os detalhes de como implementar manipuladores de extensão específicos são abordados nas seções listadas acima. Para discussões sobre problemas de implementação que são comuns a todos os manipuladores de extensão do Shell, consulte estes tópicos: