Чому накладки Icon (від 3rdParty-Apps) не відображаються в Провіднику Win8?


35

Ці чудові накладки із значками, які надають корисну інформацію в Провіднику Windows, не відображаються. скріншот того, що я маю на увазі

Це найбільше дратує Dropbox (я вже читав https://www.dropbox.com/help/154/en ). Я просто спробував перевстановити Dropbox - ніякої допомоги. У мене є ця проблема також і з розширенням Link Shell, тому я не думаю, що це конкретно проблема, що випадає; і щось не в моїй ОС. ОС насправді є досить свіжою чистою установкою ...

ОС: 64-розрядна версія Win8 Pro.


3
Чи можна це зробити програмно, щоб програма інсталяції могла помітити проблему та виправити її під час встановлення?
jordanpg

пов'язані, але запитували пізніше: superuser.com/q/809529/3588
CAD блокується

Відповіді:


39

Схоже, ви встановили занадто багато інструментів, які реєструють значки накладання. У 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?

Якщо так, то видаліть або переконфігуруйте програми, які відображаються тут, або видаліть записи реєстру вручну (резервні копії, звичайно).


У мене було встановлено обоє Windows7 - і, мабуть, багато іншого - win7 працює протягом ~ 3 років ...
kluka

3
Відкрийте Regedit, відкрийте HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiersі HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\explorer\ShellIconOverlayIdentifiersі підрахувати кількість елементів. Ви досягаєте межі 15?
magicandre1981

20 предметів .... він заповнюється Skydrive . Аррх! (Я видалив ще одну програму і зараз вона працює)
kluka

Залишається питання: Хоча було б безпечно видаляти записи реєстру вручну в цій "папці"?
kluka

це я економлю, але зробіть резервну копію ключа першими та наступними відключеннями записів, які вам не потрібні. У мене також є проблема та видалено деякі записи TSVN.
magicandre1981

19

Вам не обов’язково видаляти будь-які ключі, все, що вам потрібно зробити - це перейменувати ці ключі перед ними в послідовному порядку, після чого перезавантажте машину. Послідовні номери гарантують, що ваша ОС налічує лише 15 перших.

Ось приклад:

введіть тут опис зображення


17
Це лише прекрасний приклад Windows у всьому його божевілля.
kluka

9
Це майже напевно збиває з пантелику відповідні програми або їх [не]
встановників

Це не дуже допомагає. Наприклад, Skydrive один раз на тиждень або близько того перейменовує його на іконки. Я не хочу робити це регулярно.
Триларіон

4
Я знайшов вирішення (і те, яке працювало на мене протягом декількох років) - додати копії накладок, які я хочу показати, з іменами, які передують усім іншим ... наприклад ___CRD3333DropboxExt1. Це дуже некрасивий злом, але робить накладки стабільними.
Кріс Р. Доннеллі

2
Експортуючи налаштування реєстру, я виявив, що жадібні Dropbox та OneDrive передують їх ключовим іменам з пробілами (які не відображаються в RegEdit і перемагають у сортуванні ASCII) - тому вам потрібно бути досить хитрими з префіксами вашого ключового імені '< sp> <sp> <sp> 011keyname '
Ед Рандалл
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.