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ą).