Por que as superposições de ícones (de 3rdParty-Apps) não aparecem no Win8 Explorer?

35

Essas maravilhosas sobreposições de ícones que fornecem informações úteis no Windows Explorer não estão aparecendo. uma captura de tela do que quero dizer

É o mais irritante com o Dropbox (eu já li https://www.dropbox.com/help/154/en ). Eu apenas tentei reinstalar o Dropbox - sem ajuda. Eu também tenho esse problema com a Extensão do Shell de Link, então não acho que seja um problema específico da caixa de depósito; e algo está errado no meu sistema operacional. O sistema operacional é, na verdade, uma instalação bem limpa ...

SO: Win8 Pro de 64 bits.

kluka
fonte
3
Existe uma maneira de fazer isso programaticamente, para que um programa de instalação possa perceber o problema e corrigi-lo durante a instalação?
Jordanpg
relacionado mas perguntado mais tarde: superuser.com/q/809529/3588
CAD bloke

Respostas:

39

Parece que você instalou muitas ferramentas que registram ícones de Sobreposição. O Windows possui um limite feio de apenas 15 ícones de sobreposição devido ao antigo código de 16 bits que não pode ser alterado:

O valor 15 veio do limite correspondente para listas de imagens. A função ImageList_SetOverlayImage suporta até 15 sobreposições de lista de imagens por lista de imagens. (Ei, costumava ser pior. O limite costumava ser apenas 3!)

Ok, mas por que apenas 15? Por que não mais?

A imagem de sobreposição é uma das informações usadas ao desenhar uma imagem de uma lista de imagens. As opções são codificadas no parâmetro fStyle e, quando os bits foram divididos para várias finalidades, quatro bits estavam disponíveis para serem usados ​​para especificar a imagem de sobreposição. (Você obtém 15 imagens de sobreposição em vez de 16 porque perde um dos valores para especificar "sem sobreposição").

Ok, mas os valores no parâmetro fStyle usam apenas os 16 bits inferiores. E os 16 bits superiores? Há muito espaço lá.

O limite de 16 bits foi transferido da versão de 16 bits dos controles comuns (que ainda precisavam ser suportados no Windows 95). É claro que hoje em dia ninguém se importa com a versão de 16 bits dos controles comuns, então por que não começar a usar os bits superiores?

Há uma explicação insatisfatória: o código que gerencia internamente o fStyle ainda usa uma PALAVRA em alguns lugares; portanto, todo o código que gerencia o fStyle precisaria ser revisado. Isso ocorre em vários módulos no Windows, portanto, uma alteração sincronizada teria que ser feita em vários componentes. Esta é uma mudança inédita no nível binário porque as interfaces não são mais compatíveis. As alterações de quebra são processualmente difíceis de coordenar: O código afetado pode não estar visível para a equipe do shell porque eles estão sentados em um galho de folha distante que ainda não foi transferido para o tronco. Pode ser que a expansão do fStyle de uma PALAVRA para uma DWORD tenha consequências de longo alcance para algum componente.

Portanto, a Microsoft não pode realmente corrigi-lo sem quebrar o Explorer.

Abra o regedit, vá para

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers e
  • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers

e conte o número de itens. Você está atingindo o limite de 15?

Se sim, desinstale ou reconfigure os aplicativos mostrados aqui ou remova as entradas do registro manualmente (fazendo o backup delas, é claro).

magicandre1981
fonte
Eu tinha tanto instalado no meu Windows7 - e provavelmente um monte de coisas mais - o win7 estava correndo para ~ 3 anos ...
Kluka
3
regedit aberto, vá até HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifierse HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\explorer\ShellIconOverlayIdentifierse contar o número de itens. Você está atingindo o limite de 15?
magicandre1981
20 itens .... é preenchido com Skydrive . Arrgh! (I desinstalado outro programa e agora ele funciona)
Kluka
No entanto, a pergunta restante: seria seguro remover manualmente as entradas do Registro nessa "pasta"?
Kluka
isso eu salvo, mas faça um backup da primeira e da próxima chave desabilitar as entradas que você não precisa. Também tenho o problema e removi algumas entradas do TSVN.
magicandre1981
19

você não precisa necessariamente excluir nenhuma chave, tudo o que você precisa fazer é renomear essas chaves com um número na frente delas em ordem sequencial e reiniciar a máquina. Os números sequenciais garantirão que o seu sistema operacional conte apenas os 15 principais.

Aqui está um exemplo:

insira a descrição da imagem aqui

Jesse. Q
fonte
17
Este é apenas um bom exemplo do Windows em tudo o que é insanidade.
Kluka
9
Isso é quase certo para confundir os aplicativos relevantes ou seus [UN] instaladores ...
Samb
Isso realmente não ajuda. O Skydrive, por exemplo, renomeia uma vez por semana seus ícones. Eu não quero fazer isso regularmente.
Trilarion
4
A solução alternativa que encontrei (e que funcionou para mim por vários anos) é adicionar cópias das sobreposições que eu quero que apareçam com nomes que estão antes de todos os outros ... por exemplo ___CRD3333DropboxExt1. É um truque muito feio, mas torna as sobreposições estáveis.
Chris R. Donnelly
2
Ao exportar as configurações do registro, descobri que o Dropbox e o OneDrive gananciosos precedem seus nomes de chave com espaços (que não aparecem no RegEdit e vencem em uma classificação ASCII) - portanto, você precisa ser muito esperto com os prefixos de nome de chave '< sp> <sp> <sp> 011keyname ''
Ed Randall