Чи можна запобігти зміні значків накладання?


15

Фон

Кілька програм модифікують піктограми в дослідженні, щоб вказати стан ("синхронізований" Накладання синхронізації TortoiseCVSтощо)

Відомий факт, що Windows (win7, win8, win10?) Може обробляти лише обмежену кількість таких значків (~ 15), і є декілька пов'язаних з цим питань (fe тут ).

Ці значки накладення реєструються в реєстрі у філії:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers

Розташування піктограм накладки оболонки в реєстрі

Насправді використовується лише перша пара записів (15?), Інші ігноруються. Як результат, наявність декількох програм, що встановлюють власні піктограми накладання, може пошкодити поведінку вже встановлених програм.

Щоб виправити це, потрібно, як правило, зайти в реєстр та видалити (або перейменувати) небажані записи, поки шукані не будуть зверху.

Проблема

Останнім часом я помічав все більш "агресивну" поведінку декількох програм, які борються за ці чільні позиції. Найчастіше це робиться за допомогою імен ключів, які починаються з символів пробілу, щоб застосовувати сортування верхнього рівня. Наприклад , Dropbox , GoogleDrive , SkyDrive та OneDrive . Деякі, як GoogleDrive, навіть зараз використовують три пробіли, але інші програми стають рівними ...

Що ще гірше, деякі програми навіть відновлюють цей параметр автоматично під час будь-якого автоматизованого "оновлення" (або навіть перевірки оновлення чи запуску програми?). Тож будь-які ручні коригування регулярно не скасовуються. Я помітив це принаймні для GoogleDrive , Dropbox та OneDrive

Питання

Чи є спосіб "захистити" реєстр від таких автоматизованих змін?

Редагувати (відповідь)

Олексій Іванов дав гарну пропозицію в коментарі нижче, і поки що "скасування привілеїв реєстру" придушило проблему для мене.


2
Я змінив вашу посаду - проблема полягає в тому, що якщо ви запитаєте пакетний файл, це поза темою, оскільки ми не сервіс написання сценарію. Крім того, партія може бути чи не найкращим способом. Зберігаючи це просто, він (сподіваємось) дозволить відповідати на різні типи. Не соромтеся повернути мою зміну назад, якщо вона занадто велика, але прийміть це, можливо, це буде розглянуто як поза темою.
Дейв

@ Дейв: Гаразд, не знав, що пакетні файли на цьому веб-сайті є обмеженими, оскільки я бачив їх багато у відповідях. Я просто думав, що пакетний файл може бути "єдиним" рішенням тут, але насправді я шукаю рішення будь-яким способом, і ваша редакція зі мною добре. Якщо ви думаєте, що це збільшує прийняття посади, ніж велике спасибі.
BmyGuest

О, просити про допомогу з вашим поточним пакетним файлом у порядку (і вам потрібно поділитися кодом). Але просити нас написати один для вас не :)
Дейв,

1
Я дуже хотів би відповісти на це. Dropbox дійсно стає дратівливим, завжди замінюючи піктограми TortoiseSVN під час кожного оновлення. Я створив сценарій, який виправляє ці та перезавантажує Windows Explorer, але знайшов це питання, намагаючись знайти спосіб уникнути необхідності цього ...
Nuno

2
Перше, що мені спадає на думку - це скасувати привілеї для запису з цього ключа реєстру. Тоді жодна програма не зможе змінювати записи реєстру. Щоб програма могла зареєструвати набір значків накладень, вам потрібно буде ще раз відредагувати дозволи на ключ, щоб додати привілей на запис.
Олексій Іванов

Відповіді:


12

Що я зробив, оскільки Dropbox насправді дратує, чи створив файл ".reg", який видаляє всі ці записи Dropbox:

Windows Registry Editor Version 5.00

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\   DropboxExt01]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\   DropboxExt02]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\   DropboxExt03]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\   DropboxExt04]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\   DropboxExt05]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\   DropboxExt06]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\   DropboxExt07]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\   DropboxExt08]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\   DropboxExt09]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\   DropboxExt10]

Потім запускаю файл ".cmd", який виконує його, і перезавантажує Windows Explorer:

regedit -s FixDropboxTortoiseSVNConflict.reg

taskkill /f /im explorer.exe

start explorer.exe

І TortoiseSVN знову показує накладку піктограм.

Це не найкрасивіший спосіб вчинити, і може знадобитися зміна ключів реєстру вище, коли Dropbox знову змінить їх у майбутньому, але видаляє певну ручну роботу про перехід до реєстру та перейменування / видалення їх по черзі :)


Чудово, саме те, що я шукав, дякую! Використання start explorer.exeу файлі cmd робить провідника фоновим процесом, тому вікно оболонки не залишається відкритим після його завершення.
Шлублу

1
Якщо застосувати overlays.regфайл у вашому .cmdз regedit -s overlays.regви можете виправити все в одну дію. Крім того, ви можете просто видалити весь HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiersключ і додати назад потрібні, інакше OneDrive і Dropbox продовжують додавати пробіли до клавіш.
Дейв Андерсон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.