Eu faço o boot duplo do Windows XP e do Windows 7 e me deparo com um problema peculiar com ícones para atalhos.
Uma área de trabalho diferente é usada para cada sistema operacional, portanto, eu tenho um atalho para o outro em cada um para facilitar o acesso a ambas as versões do Windows; ou seja, no XP, a área de trabalho contém um atalho chamado 7Desk
e, em 7, a área de trabalho contém um atalho chamado XPDesk
. Além disso, 7Desk.lnk
está definido para usar o recurso de ícone da área de trabalho de shell32.dll
do Windows 7 e XPDesk.lnk
está definido para usar o recurso de ícone da área de trabalho shell32.dll
do Windows XP. Dessa forma, cada atalho mostra o ícone do outro sistema operacional na área de trabalho.
O problema é que, embora na caixa de diálogo Alterar ícone eu possa ver os ícones corretos (para o outro sistema operacional), quando clico em OK, o ícone mostra o ícone correspondente do sistema operacional inicializado em vez do outro. Eu confirmei isso para outros recursos de ícones e também para os ícones da Lixeira.
Isso é desconcertante porque, no que diz respeito ao Windows (e à caixa de diálogo Alterar Ícone ), shell32.dll
da outra unidade é apenas um arquivo contendo ícones. Não há razão para tratar a DLL especialmente, e ainda mais misterioso é como ela sabe quais dos seus ícones próprios devem ser usados no lugar dela. Isto é, como o XP sabe usar o ícone do desktop XP no lugar do ícone da área de trabalho 7, ou como 7 sabe usar o ícone da lixeira 7 no lugar do ícone da lixeira do XP? E só para tornar as coisas ainda mais confusas, eu verifiquei os arquivos LNK em um editor hexadecimal e posso ver claramente que o recurso de ícone está realmente apontando para o arquivo na outra unidade, não simplesmente para \windows\system32\shell32.dll
.
(Concedido, os índices dos ícones são os mesmos, então talvez ele esteja simplesmente usando sua própria cópia de shell32.dll
em vez daquela especificada em uma unidade diferente, mas, então, por que está fazendo isso É algum tipo de "AI" na função Change Dialog , tentando fazer o que pensa que queremos em vez do que dizemos?
Eu posso gravar um teste de tela se o problema não estiver claro.