Warum werden Icon Overlays (von 3rdParty-Apps) im Win8 Explorer nicht angezeigt?

35

Diese wundervollen Symbol-Overlays, die nützliche Informationen im Windows-Explorer enthalten, werden nicht angezeigt. ein Screenshot von dem, was ich meine

Es ist am ärgerlichsten mit Dropbox (ich habe bereits https://www.dropbox.com/help/154/en gelesen ). Ich habe gerade versucht, Dropbox neu zu installieren - keine Hilfe. Ich habe dieses Problem auch mit der Link Shell Extension, so dass ich nicht denke, dass es sich um ein spezielles Dropbox-Problem handelt. und in meinem Betriebssystem stimmt etwas nicht. Das Betriebssystem ist eigentlich eine ziemlich frische Neuinstallation ...

Betriebssystem: Win8 Pro 64-Bit.

kluka
quelle
3
Gibt es eine Möglichkeit, dies programmgesteuert auszuführen, sodass ein Installationsprogramm das Problem bemerken und es während der Installation beheben kann?
Jordanpg
verwandt, aber später gefragt: superuser.com/q/809529/3588
CAD Kerl

Antworten:

39

Anscheinend haben Sie zu viele Tools installiert, mit denen Überlagerungssymbole registriert werden. Windows hat ein hässliches Limit von nur 15 Overlay-Symbolen, da der alte 16-Bit-Code nicht geändert werden kann:

Der Wert 15 ergibt sich aus dem entsprechenden Grenzwert für Bildlisten. Die ImageList_SetOverlayImage-Funktion unterstützt bis zu 15 Bildlisten-Overlays pro Bildliste. (Hey, früher war es schlimmer. Früher waren es nur 3!)

Okay, aber warum nur 15? Warum nicht mehr

Das Overlay-Bild ist eine der Informationen, die beim Zeichnen eines Bildes aus einer Bilderliste verwendet werden. Die Optionen sind im Parameter fStyle codiert. Wenn die Bits für verschiedene Zwecke aufgeteilt wurden, standen vier Bits zur Angabe des Überlagerungsbilds zur Verfügung. (Sie erhalten 15 Overlay-Bilder anstelle von 16, weil Sie einen der Werte verlieren, um "kein Overlay" anzugeben.)

Okay, aber die Werte im Parameter fStyle verwenden nur die unteren 16 Bits. Was ist mit den oberen 16 Bits? Da ist viel Platz.

Das 16-Bit-Limit wurde von der 16-Bit-Version der allgemeinen Steuerelemente übernommen (die in Windows 95 noch unterstützt werden mussten). Natürlich kümmert sich heutzutage niemand mehr um die 16-Bit-Version der allgemeinen Steuerelemente. Warum also nicht die oberen Bits verwenden?

Es gibt eine unbefriedigende Erklärung: Der Code, der den fStyle intern verwaltet, verwendet an einigen Stellen immer noch ein WORT, sodass der gesamte Code, der den fStyle verwaltet, überarbeitet werden müsste. Dies tritt in mehreren Modulen in Windows auf, sodass eine synchronisierte Änderung in mehreren Komponenten vorgenommen werden muss. Dies ist eine bahnbrechende Änderung auf der Binärebene, da die Schnittstellen nicht mehr kompatibel sind. Breaking Changes sind prozedural schwierig zu koordinieren: Der betroffene Code ist für das Shell-Team möglicherweise nicht sichtbar, da sie in einem weit entfernten Blattast sitzen, der noch nicht mit dem Stamm verbunden ist. Es kann sein, dass das Erweitern von fStyle von einem WORD zu einem DWORD weitreichende Konsequenzen für einige Komponenten hat.

Microsoft kann es also nicht wirklich reparieren, ohne den Explorer zu beschädigen.

Öffnen Sie regedit und gehen Sie zu

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

und zähle die Anzahl der Gegenstände. Erreichen Sie das Limit von 15?

Wenn ja, deinstallieren Sie die hier gezeigten Anwendungen, konfigurieren Sie sie neu oder entfernen Sie die Registrierungseinträge manuell (Sicherung natürlich).

magicandre1981
quelle
Ich hatte beide auf meinem Windows7 installiert - und wahrscheinlich eine Menge mehr - das win7 lief ~ 3 Jahre lang ...
am
3
gehen offen regedit, zu HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiersund HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\explorer\ShellIconOverlayIdentifiersund die Anzahl der Elemente zählen. Erreichen Sie das Limit von 15?
magicandre1981
20 Gegenstände ... es ist voll mit Skydrive . Arrgh! (Ich habe ein anderes Programm deinstalliert und jetzt funktioniert es)
kluka
Bleibende Frage: Wäre es sicher, Registrierungseinträge in diesem "Ordner" manuell zu entfernen?
kluka
Das speichere ich, aber erst mache ich ein Backup des Schlüssels und dann deaktiviere ich die Einträge, die du nicht brauchst. Ich habe auch das Problem und einige TSVN-Einträge entfernt.
magicandre1981
19

Sie müssen nicht unbedingt alle Schlüssel löschen. Sie müssen lediglich diese Schlüssel mit einer Nummer vor ihnen in der angegebenen Reihenfolge umbenennen und dann den Computer neu starten. Durch die fortlaufenden Nummern wird sichergestellt, dass Ihr Betriebssystem nur die Top 15 zählt.

Hier ist ein Beispiel:

Bildbeschreibung hier eingeben

Jesse. Q.
quelle
17
Dies ist nur ein gutes Beispiel für Windows bei allem Wahnsinn.
kluka
9
Das wird mit ziemlicher
Sicherheit
Es hilft nicht wirklich. Skydrive zum Beispiel wird etwa einmal pro Woche in Symbole umbenannt. Ich möchte das nicht regelmäßig machen.
Trilarion
4
Die Problemumgehung, die ich gefunden habe (und die mehrere Jahre für mich gearbeitet hat), besteht darin, Kopien der Overlays hinzuzufügen, die ich mit Namen anzeigen möchte, die vor allen anderen stehen ... z ___CRD3333DropboxExt1. Es ist ein sehr hässlicher Hack, macht aber die Overlays stabil.
Chris R. Donnelly
2
Beim Exportieren der Registrierungseinstellungen habe ich festgestellt, dass der gierigen Dropbox und OneDrive vor ihren Schlüsselnamen Leerzeichen (die in RegEdit nicht angezeigt werden und in einer ASCII-Sortierung gewinnen) stehen sp> <sp> <sp> 011keyname '
Ed Randall