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
-
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
-
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