Могу ли я предотвратить смену значков наложения?


15

Фон

Несколько программ изменяют значки в explorere, чтобы указать состояние («синхронизировано» Синхронизация с TortoiseCVSи т. Д.)

Известно, что Windows (win7, win8, win10?) Может обрабатывать только ограниченное количество таких значков (~ 15), и есть несколько связанных с этим вопросов (например, здесь ).

Эти оверлейные иконки зарегистрированы в реестре в ветке:

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:

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.