Схоже, ви встановили занадто багато інструментів, які реєструють значки накладання. У Windows є некрасивий ліміт лише 15 піктограм накладання через старий 16-бітовий код, який неможливо змінити:
Значення 15 прийшло з відповідної межі для списків зображень. Функція ImageList_SetOverlayImage підтримує до 15 зображень, накладених на список зображень. (Гей, це було гірше. Раніше було лише 3!)
Гаразд, але чому лише 15? Чому б не більше?
Зображення накладення - це одна з частин інформації, яка використовується при малюванні зображення зі списку зображень. Параметри кодуються в параметрі fStyle, і коли біти були розділені для різних цілей, були доступні чотири біти, які використовуються для визначення зображення накладення. (Ви отримуєте 15 зображень накладання замість 16, оскільки ви втрачаєте одне зі значень, щоб вказати "немає накладання".)
Гаразд, але в параметрах fStyle використовуються лише нижчі 16 біт. Що з верхніми 16 бітами? Там багато місця.
16-бітний ліміт переносився з 16-бітної версії загальних елементів керування (які все ще потрібно підтримувати в Windows 95). Звичайно, сьогодні ніхто не піклується про 16-бітну версію загальних елементів управління, так чому б не почати використовувати верхні біти?
Існує незадовільне пояснення: Код, який внутрішньо управляє fStyle, все ще використовує WORD у деяких місцях, тому весь код, який управляє fStyle, повинен був би бути переглянутий. Це трапляється в декількох модулях в Windows, тому синхронізовану зміну потрібно буде внести в декілька компонентів. Це краща зміна на бінарному рівні, оскільки інтерфейси більше не сумісні. Порушити зміни процедурно важко узгодити: зашкоджений код може бути не видно команді оболонки, оскільки вони сидять у далекій гілці листя, яка ще не зробила RI до стовбура. Можливо, розширення fStyle від WORD до DWORD має далекосяжні наслідки для деякого компонента.
Таким чином, Microsoft справді не може це виправити, не порушивши Explorer.
Відкрити regedit, перейти до
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
і
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
і порахувати кількість предметів. Ви досягаєте межі 15?
Якщо так, то видаліть або переконфігуруйте програми, які відображаються тут, або видаліть записи реєстру вручну (резервні копії, звичайно).