Para meu sufixo de arquivo ".special", criei um novo ícone e o armazenei como um arquivo chamado c:\special.ico.
Também criei um novo valor de registro HKEY_CLASSES_ROOT.special\ (Standard) REG_SZ c:\special.ico
Depois de reiniciar meu pc, meu arquivo c:\special.ico é listado no gerenciador de arquivos junto com o novo ícone na frente dele, mas todos os meus arquivos c:\somefolder\somefilename.special continuam a ser exibidos com o antigo, ícone padrão.
O que preciso fazer para que eles sejam exibidos com o novo ícone?
Responder1
Parece que você esqueceu de adicionar a DefaultIcon
subchave. Então...
Atribua à subchave DefaultIcon um valor padrão do tipo REG_SZ que especifica o caminho completo para o arquivo que contém o ícone.
Dos recursos para desenvolvedores da Microsoft -Como atribuir um ícone personalizado a um tipo de arquivo
Você então deve invocar uma atualização de cache de ícones. Em vez de uma reconstrução completa do cache, um REFRESH é uma maneira fácil de fazer isso executando o seguinte comando na Run
caixa de diálogo.
Para Windows 10;ie4uinit.exe -show
Para Windows 7 e 8;ie4uinit.exe -ClearIconCache
Responder2
A documentação da MS está correta, mas falta a parte por usuário (chave UserChoice). Se a chave Userchoice existir e apontar para um ProgID, esse ProgID entrará em vigor em vez daquele em HKCR\ProgID.
Se você puder postar um dump do tipo de arquivo para .special
extensão, alguém poderá ajudá-lo melhor.FileTypeDiagé uma ótima ferramenta que gera um relatório completo.
Responder3
CharlieRB e w32sh, obrigado! Aprecio particularmente o link do w32sh para FileTypeDiag, que parece ser uma ferramenta útil que eu não conhecia.
O que FUNCIONA é o texto no link do MS, mas que não é suficientemente preciso; o exemplo correspondente é totalmente equivocado ou mesmo errado.
Quando você deseja apenas um novo ícone para um novo tipo de arquivo (ou seja, um que ainda não esteja associado a algum aplicativo), faça o seguinte no registro se o sufixo/tipo de arquivo for .xe o caminho completo do (.exe , .ico ou outro) que contém o ícone é c:\y.ico
Em HKEY_CLASSES_ROOT
.x (ou seja, você cria uma nova chave, que deixa em branco, não deixe o ponto de fora, faz parte do nome da chave)
.x\DefaultIcon (você cria uma nova subchave DefaultIcon dentro de sua nova chave .x)
com o seguinte valor:
(Padrão) (tipo: REG_SZ) c:\y.ico (não são necessárias aspas duplas (""))
Depois de desligar e reiniciar o seu PC ou simplesmente um logout do usuário seguido de login do usuário (um mero usuáriomudarserá tão insuficiente quanto uma simples "atualização do registro"), você verá seus arquivos .x, em seu gerenciador de arquivos, junto com seusnovoícone de dentro do arquivo y. (O mesmo acontece depois de alterar o ícone sem alterar o nome/local do arquivo do ícone, ou seja, quando você substitui o conteúdo do arquivo do ícone: então, novamente, o novo ícone só ficará visível após uma reinicialização ou logout do usuário.)
Saúde!