Existe uma maneira de definir facilmente o ícone que uma pasta usa?

8

Eu quero que algumas pastas mostrem uma imagem que eu criei, em vez de precisar usar as propriedades e especificar um arquivo *.ico . Existe uma maneira de usar um *.jpg ou *.png ou *.gif ou algo assim em vez disso? Ou um programa / script que me permite mais facilmente dizer a pasta para usar uma imagem que eu tenho.

Eu não quero convertê-los manualmente porque é tedioso fazer isso. Estou planejando fazer isso com bastante frequência, como uma forma de reconhecimento ao navegar pela minha estrutura de pastas. Não, a pesquisa não é uma solução alternativa ...

    
por Tom Wijsman 08.04.2012 / 21:39

2 respostas

11

Até onde eu sei, para um ícone no Windows você deve usar um arquivo .ico . Embora nos dias do Win9x alguém pudesse sair usando um .bmp renomeado, mas eles parecem terríveis ao lado dos ícones Aero - especialmente porque um ICO típico contém vários tamanhos de imagem com camadas de transparência.

Você pode usar ImageMagick para converter um PNG imagem para um arquivo ICO:

convert foo.png foo.ico

ou se você tiver PNGs de vários tamanhos,

convert foo-*.png foo.ico

A outra parte, fazendo com que o Windows use o seu ícone, é mais fácil:

  1. Crie um desktop.ini em seu diretório, com o seguinte conteúdo:

    [.ShellClassInfo]
    IconFile=folder.ico
    IconIndex=0
    

    Caminhos relativos para IconFile devem ser suportados; eles também funcionam na rede.

    Veja este artigo do MSDN para obter instruções detalhadas sobre como definir o ícone da pasta programaticamente.

  2. Marque o diretório como "Somente leitura" (preferencial) ou "Sistema":

    attrib +r Music
    

    Sem isso, o Explorer nem mesmo procura por desktop.ini personalizações, por motivos de desempenho (conforme explicado em The Old New Thing .

  3. Opcionalmente, marque desktop.ini como oculto, para não encher a lista de arquivos:

    attrib +h +s desktop.ini
    
por 08.04.2012 / 22:03
2

Não. Arquivos .ICO são usados (exclusivamente) para os ícones de pastas (já que, bem, são ícones;)).

Você é a melhor / única aposta é converter o (s) arquivo (s) de imagem para o formato .ICO.

Talvez confira estas para algumas ideias / utilitários para facilitar a conversão:

Pessoalmente, gosto de Axialis 'IconWorkshop para todas as minhas necessidades. :)

Quanto a injetar / atribuir a eles sem usar as Propriedades, é uma história diferente e, na verdade, muito fácil.

Você pode especificá-lo criando / modificando o arquivo desktop.ini (text) na pasta à qual deseja aplicar o ícone. Nota : este arquivo é um arquivo 'oculto' e 'sistema'.

Exemplo desktop.ini:

[.ShellClassInfo]
IconResource=C:\Users\techie007\Documents\myNukeBall.ico,0
    
por 08.04.2012 / 21:50