¿Por qué las superposiciones de iconos (de 3rdParty-Apps) no se muestran en el Explorador de Win8?

35

Estas maravillosas superposiciones de iconos que le brindan información útil en el Explorador de Windows no se muestran. una captura de pantalla de lo que quiero decir

Es lo más molesto con Dropbox (ya leí https://www.dropbox.com/help/154/en ). Acabo de intentar reinstalar Dropbox, sin ayuda. También tengo este problema con la extensión Link Shell, así que no creo que sea específicamente un problema de Dropbox; y algo está mal en mi sistema operativo. El sistema operativo es en realidad una instalación limpia bastante fresca ...

Sistema operativo: Win8 Pro de 64 bits.

kluka
fuente
3
¿Hay alguna manera de hacer esto mediante programación, para que un programa de instalación pueda notar el problema y solucionarlo durante la instalación?
jordanpg
relacionado pero preguntado más tarde: superuser.com/q/809529/3588
CAD bloke

Respuestas:

39

Parece que ha instalado demasiadas herramientas que registran iconos de superposición. Windows tiene un límite feo de solo 15 iconos superpuestos debido al antiguo código de 16 bits que no se puede cambiar:

El valor 15 proviene del límite correspondiente para las listas de imágenes. La función ImageList_SetOverlayImage admite hasta 15 superposiciones de listas de imágenes por lista de imágenes. (Oye, solía ser peor. ¡El límite solía ser solo 3!)

De acuerdo, pero ¿por qué solo 15? ¿Por qué no más?

La imagen superpuesta es una de las piezas de información utilizada al dibujar una imagen de una lista de imágenes. Las opciones están codificadas en el parámetro fStyle, y cuando los bits se dividieron para varios propósitos, cuatro bits estaban disponibles para usarse para especificar la imagen superpuesta. (Obtiene 15 imágenes superpuestas en lugar de 16 porque pierde uno de los valores para especificar "sin superposición").

De acuerdo, pero los valores en el parámetro fStyle usan solo los 16 bits inferiores. ¿Qué pasa con los 16 bits superiores? Hay mucho espacio allí.

El límite de 16 bits se transfirió de la versión de 16 bits de los controles comunes (que aún necesitaban ser compatibles con Windows 95). Por supuesto, hoy en día, a nadie le importa la versión de 16 bits de los controles comunes, entonces, ¿por qué no comenzar a usar los bits superiores?

Hay una explicación insatisfactoria: el código interno que administra el fStyle todavía usa una PALABRA en algunos lugares, por lo que todo el código que administra el fStyle debería revisarse. Esto ocurre en múltiples módulos a través de Windows, por lo que un cambio sincronizado tendría que hacerse a través de múltiples componentes. Este es un cambio importante a nivel binario porque las interfaces ya no son compatibles. Los cambios de última hora son difíciles de coordinar: el código afectado puede no ser visible para el equipo de shell porque están sentados en una rama de hoja lejana que aún no ha llegado al tronco. Puede ser que expandir fStyle de WORD a DWORD tenga consecuencias de largo alcance para algún componente.

Entonces, Microsoft realmente no puede arreglarlo sin romper el Explorer.

Abra regedit, vaya a

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

y contar el número de artículos. ¿Estás llegando al límite de 15?

En caso afirmativo, desinstale o reconfigure las aplicaciones que se muestran aquí o elimine las entradas del registro manualmente (por supuesto, haciendo una copia de seguridad).

magicandre1981
fuente
Había instalado ambos en mi Windows7, y probablemente muchas cosas más, el win7 estuvo funcionando durante ~ 3 años ...
kluka
3
abra regedit, vaya a HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiersy HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\explorer\ShellIconOverlayIdentifiersy cuente el número de elementos. ¿Estás llegando al límite de 15?
magicandre1981
20 artículos ... se ha llenado con Skydrive . Arrgh! (Desinstalé otro programa y ahora funciona)
kluka
Sin embargo, la pregunta restante es: ¿Sería seguro eliminar manualmente las entradas del Registro en esa "carpeta"?
kluka
Esto lo guardo, pero haga una copia de seguridad de la clave primero y luego deshabilite las entradas que no necesita. También tengo el problema y eliminé algunas entradas de TSVN.
magicandre1981
19

no necesariamente necesita eliminar ninguna clave, todo lo que tiene que hacer es cambiar el nombre de estas claves con un número delante de ellas en orden secuencial y luego reiniciar la máquina. Los números secuenciales asegurarán que su sistema operativo solo cuente los 15 principales.

Aquí hay un ejemplo:

ingrese la descripción de la imagen aquí

Jesse Q
fuente
17
Este es solo un buen ejemplo de Windows en toda su locura.
kluka
99
Eso es casi seguro que confundir las aplicaciones pertinentes o sus [Naciones Unidas] instaladores ...
Samb
Realmente no ayuda. Skydrive, por ejemplo, es una vez por semana más o menos renombrando sus íconos. No quiero hacer esto regularmente.
Trilarion
44
La solución que encontré (y que me ha funcionado durante varios años) es agregar copias de las superposiciones que quiero mostrar con nombres que están antes que todos los demás ... por ejemplo ___CRD3333DropboxExt1. Es un truco muy feo, pero hace que las superposiciones sean estables.
Chris R. Donnelly
2
Al exportar la configuración del registro, descubrí que el codicioso Dropbox y OneDrive preceden a sus nombres clave con espacios (que no se muestran en RegEdit y ganarán en un orden ASCII), por lo que debe ser bastante astuto con sus prefijos de nombre clave '< sp> <sp> <sp> 011keyname '
Ed Randall