Dlaczego nakładki ikon (z aplikacji 3rdParty) nie pojawiają się w Eksploratorze Win8?

35

Te wspaniałe nakładki ikon, które zawierają przydatne informacje w Eksploratorze Windows, nie są wyświetlane. Zrzut ekranu tego, co mam na myśli

Jest to najbardziej denerwujące w przypadku Dropbox (czytałem już https://www.dropbox.com/help/154/en ). Właśnie próbowałem ponownie zainstalować Dropbox - bez pomocy. Mam ten problem także z Link Shell Extension, więc nie sądzę, że jest to problem z Dropbox; i coś jest nie tak w moim systemie operacyjnym. System operacyjny jest właściwie całkiem świeży i czysty ...

System operacyjny: Win8 Pro 64-bit.

kluka
źródło
3
Czy można to zrobić programowo, aby program instalacyjny mógł zauważyć problem i naprawić go podczas instalacji?
jordanpg
powiązane, ale zadane później: superuser.com/q/809529/3588
CAD bloke

Odpowiedzi:

39

Wygląda na to, że zainstalowałeś zbyt wiele narzędzi, które rejestrują ikony nakładek. Windows ma brzydki limit tylko 15 ikon nakładek z powodu starego 16-bitowego kodu, którego nie można zmienić:

Wartość 15 pochodzi z odpowiedniego limitu dla list obrazów. Funkcja ImageList_SetOverlayImage obsługuje do 15 nakładek listy obrazów na listę obrazów. (Hej, kiedyś było gorzej. Limit to tylko 3!)

Okej, ale dlaczego tylko 15? Dlaczego nie więcej?

Obraz nakładki jest jedną z informacji wykorzystywanych podczas rysowania obrazu z listy obrazów. Opcje są zakodowane w parametrze fStyle, a kiedy bity zostały podzielone dla różnych celów, dostępne były cztery bity do określenia obrazu nakładki. (Otrzymujesz 15 obrazów nakładki zamiast 16, ponieważ tracisz jedną z wartości, aby określić „brak nakładki”).

Okej, ale wartości parametru fStyle używają tylko dolnych 16 bitów. Co z górnymi 16 bitami? Jest tam dużo miejsca.

Limit 16-bitów został przeniesiony z 16-bitowej wersji wspólnych kontrolek (które nadal wymagały obsługi w Windows 95). Oczywiście w dzisiejszych czasach nikt nie dba o 16-bitową wersję zwykłych kontrolek, więc dlaczego nie zacząć używać wyższych bitów?

Istnieje niezadowalające wyjaśnienie: wewnętrzny kod zarządzający fStyle nadal używa WORD w niektórych miejscach, więc cały kod zarządzający fStyle musiałby zostać zmieniony. Dzieje się tak w wielu modułach w systemie Windows, więc zsynchronizowana zmiana musiałaby zostać wykonana w wielu komponentach. Jest to przełomowa zmiana na poziomie binarnym, ponieważ interfejsy nie są już kompatybilne. Przełamywanie zmian jest trudne do skoordynowania pod względem proceduralnym: dotknięty kod może nie być widoczny dla zespołu powłokowego, ponieważ siedzą w odległej gałęzi liścia, która jeszcze nie zawiodła do pnia. Może się zdarzyć, że rozszerzenie fStyle z WORD na DWORD ma daleko idące konsekwencje dla niektórych komponentów.

Tak więc Microsoft nie może tego naprawić bez zepsucia Eksploratora.

Otwórz regedit, przejdź do

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

i policz liczbę przedmiotów. Czy osiągasz limit 15?

Jeśli tak, odinstaluj lub ponownie skonfiguruj pokazane tutaj aplikacje lub usuń wpisy rejestru ręcznie (oczywiście wykonując ich kopię zapasową).

magicandre1981
źródło
Mam oba zainstalowane na moim Windows7 - i prawdopodobnie wiele innych rzeczy - Win7 działał przez ~ 3 lata ...
kluka
3
otwarty regedit, przejdź do HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiersi HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\explorer\ShellIconOverlayIdentifiersi policzyć liczbę elementów. Czy osiągasz limit 15?
magicandre1981
20 przedmiotów .... jest wypełniony Skydrive . Arrgh! (Odinstalowałem inny program i teraz działa)
kluka
Pozostaje pytanie: czy bezpiecznie byłoby ręcznie usunąć wpisy rejestru w tym „folderze”?
kluka
zapisuję to, ale najpierw wykonaj kopię zapasową klucza, a następnie wyłącz niepotrzebne wpisy. Mam również problem i usunąłem niektóre wpisy TSVN.
magicandre1981
19

nie musisz koniecznie usuwać żadnych kluczy, wszystko co musisz zrobić, to zmienić nazwy tych klawiszy na numer przed nimi w kolejności sekwencyjnej, a następnie ponownie uruchomić komputer. Kolejne numery sprawią, że Twój system operacyjny będzie liczył tylko 15 najlepszych.

Oto przykład:

wprowadź opis zdjęcia tutaj

Jesse. Q
źródło
17
To tylko świetny przykład systemu Windows w całym tym szaleństwie.
kluka
9
To prawie na pewno myli odpowiednie aplikacje lub ich [un] instalatory ...
SamB
To naprawdę nie pomaga. Na przykład Skydrive raz w tygodniu zmienia nazwę na ikony. Nie chcę tego robić regularnie.
Trilarion,
4
Obejście, które znalazłem (i które działało dla mnie od kilku lat), polega na dodawaniu kopii nakładek, które chcę wyświetlać, z nazwami, które są przed wszystkimi innymi ... np ___CRD3333DropboxExt1. Jest to bardzo brzydki hack, ale sprawia, że ​​nakładki są stabilne.
Chris R. Donnelly
2
Po wyeksportowaniu ustawień rejestru odkryłem, że chciwi Dropbox i OneDrive poprzedzają swoje nazwy kluczy spacjami (które nie pojawiają się w RegEdit i wygrywają w sortowaniu ASCII) - więc musisz być bardzo sprytny z prefiksami nazw kluczy „< sp> <sp> <sp> 011keyname '
Ed Randall