Onde os ícones da pasta são gerados com as propriedades da pasta mantidas no Registro?

2

Clique com o botão direito em uma pasta e selecione propriedades. Selecione a guia "Personalizar". Na parte inferior, selecione "Alterar ícone" etc

Funciona muito bem. Minha pergunta é: Onde esta informação está no registro?

    
por Pablo678 02.12.2013 / 22:35

2 respostas

1

Informações sobre ícones para objetos especiais (como Lixeira ou Meu computador ) e classes de objetos (por exemplo, tipos de arquivo) são armazenados no registro. Informações sobre ícones para objetos individuais são geralmente armazenadas com o objeto. Em particular, quando você atribui um ícone personalizado a uma pasta por meio da guia "Personalizar" da janela "Propriedades" é armazenada em um arquivo DESKTOP.INI na pasta. Tem o conjunto de atributos do sistema H idden e S , então você não verá, a menos que você vá caçar. Especificamente, o Windows irá escrever linhas como esta:

[.ShellClassInfo]
IconResource=C:\Windows\system32\SHELL32.dll,60

no arquivo DESKTOP.INI .

    
por 03.12.2013 / 01:47
1

Para encontrar ícones do sistema

Esses ícones não são armazenados no registro, eles são normalmente empacotados em arquivos .dll. Observe que .exe, .ocx, .icl, .ico também são arquivos de ícones válidos. Os dois arquivos mais importantes são:

C:\Windows\system32\imageres.dll
C:\Windows\system32\shell32.dll

Existem mais ícones do sistema escondidos em:

C:\Windows\system32\compstui.dll
C:\Windows\system32\DDORes.dll
C:\Windows\system32\ieframe.dll
C:\Windows\system32\mmcndmgr.dll
C:\Windows\system32\moricons.dll
C:\Windows\system32\netshell.dll
C:\Windows\system32\pnidui.dll
C:\Windows\system32\wmploc.dll

Nem todos estão disponíveis no Windows XP, apenas no Windows 7 e superior.

Você pode extraí-los para arquivos .ico normais com ferramentas como ResourcesExtract da Nirsoft

Para atribuir ícones do sistema

Um único .dll pode conter vários ícones e cada ícone tem seu índice exclusivo dentro da dll. A informação que .dll e qual índice deve ser usado varia de acordo com o tipo de pasta

  1. Pastas especiais como Lixeira ou Meu computador são salvo no registro em

    HKEY_CLASSES_ROOT\CLSID\{xxxx}\DefaultIcon
    (Default)
    %SystemRoot%\System32\imageres.dll,3
    

    {xxxx} deve ser substituído pelo Identificador de Classe do Windows correto. (clique para lista completa)

    O ,3 significa que a pasta em questão deve exibir o terceiro ícone em imageres.dll

  2. As pastas normais podem ser personalizadas criando um desktop.ini arquivo dentro dessa pasta. Um arquivo típico ficaria assim:

    [.ShellClassInfo] 
    IconFile=%SystemRoot%\system32\imageres.dll
    IconIndex=3
    
por 03.12.2013 / 00:12