Czy mogę zapobiec zmianie ikon nakładki?

16

tło

Kilka programów modyfikuje ikony w Eksploratorze, aby wskazać stan („zsynchronizowane” Nakładka synchronizacji TortoiseCVSitp.)

Wiadomo, że Windows (win7, win8, win10?) Może obsłużyć tylko ograniczoną liczbę takich ikon (~ 15) i istnieje kilka powiązanych pytań (np. Tutaj ).

Te ikony nakładek są zarejestrowane w rejestrze w oddziale:

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

Lokalizacja ikon nakładki powłoki w rejestrze

Wykorzystywana jest tylko pierwsza para wpisów (15?), Pozostałe są ignorowane. W rezultacie posiadanie wielu programów instalujących własne ikony nakładek może uszkodzić zachowanie już zainstalowanych programów.

Aby to naprawić, zwykle trzeba wejść do rejestru i usunąć (lub zmienić nazwę) niechciane wpisy, aż poszukiwane będą na górze.

Problem

Ostatnio zauważyłem coraz bardziej „agresywne” zachowanie kilku programów walczących o najwyższe pozycje. Najczęściej odbywa się to za pomocą nazw kluczy, które zaczynają się od białych znaków, aby wymusić najlepsze sortowanie. Dropbox , GoogleDrive , SkyDrive i OneDrive robią to na przykład. Niektóre, takie jak GoogleDrive , obecnie używają nawet trzech białych znaków , ale inne programy stają się równe ...

Co gorsza, niektóre programy nawet naprawiają to ustawienie automatycznie podczas każdej automatycznej „aktualizacji” (a nawet sprawdzania aktualizacji lub uruchamiania programu?). Dlatego wszelkie ręczne regulacje są regularnie cofane. Zauważyłem to przynajmniej w przypadku GoogleDrive , Dropbox i OneDrive

Pytanie

Czy istnieje sposób „ochrony” rejestru przed takimi zautomatyzowanymi zmianami?

Edytuj (odpowiedź)

Aleksiej Iwanow podał dobrą sugestię w poniższym komentarzu, a jak dotąd „cofnięcie uprawnień do rejestru” tłumaczyło mi ten problem.

BmyGuest
źródło
2
Dokonałem dość dużej zmiany w twoim poście - problem polega na tym, że jeśli poprosisz o plik wsadowy, nie jest to temat, ponieważ nie jesteśmy usługą pisania skryptów. Ponadto partia może być najlepszym sposobem lub nie. Utrzymując tę ​​prostotę, (miejmy nadzieję) pozwoli na różne rodzaje odpowiedzi. Nie wahaj się wycofać mojej zmiany, jeśli jest ona zbyt duża, ale zaakceptuj ją w tym momencie.
Dave
@ Dave: OK, nie wiedziałem, że pliki wsadowe są niedostępne na tej stronie, ponieważ widziałem ich wiele w odpowiedziach. Pomyślałem, że plik wsadowy może być tutaj „jedynym” rozwiązaniem, ale tak naprawdę szukam rozwiązania w jakikolwiek sposób, a twoja edycja jest dla mnie w porządku. Jeśli uważasz, że to zwiększa akceptację postu, to wielkie dzięki.
BmyGuest,
Och, prośba o pomoc z bieżącym plikiem wsadowym jest w porządku (i musisz udostępnić kod). Ale proszenie nas o napisanie jednego nie jest dla ciebie :)
Dave
1
Naprawdę chciałbym odpowiedzieć na to pytanie. Dropbox naprawdę staje się denerwujący, zawsze zastępując ikony TortoiseSVN przy każdej aktualizacji. Stworzyłem skrypt, który je naprawia i ponownie uruchamia Eksploratora Windows, ale znalazłem to pytanie, próbując znaleźć sposób na uniknięcie tego ...
Nuno
2
Pierwszą rzeczą, jaka przychodzi mi do głowy, jest cofnięcie uprawnień do zapisu z tego klucza rejestru. Wówczas żaden program nie będzie mógł modyfikować wpisów rejestru. Aby aplikacja mogła zarejestrować swój zestaw ikon nakładek, musisz ponownie edytować uprawnienia do klucza, aby dodać uprawnienia do zapisu.
Aleksiej Iwanow

Odpowiedzi:

13

Odkąd Dropbox robi się naprawdę irytujący, stworzyłem plik „.reg”, który usuwa wszystkie wpisy 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]

Następnie uruchamiam plik „.cmd”, który go wykonuje i uruchamia ponownie Eksploratora Windows:

regedit -s FixDropboxTortoiseSVNConflict.reg

taskkill /f /im explorer.exe

start explorer.exe

TortoiseSVN ponownie pokazuje nakładki ikon.

Nie jest to najpiękniejszy sposób robienia rzeczy i może wymagać zmiany powyższych kluczy rejestru, gdy Dropbox zmieni je ponownie w przyszłości, ale usuwa część ręcznej pracy przechodzenia do rejestru i zmieniania ich nazw / usuwania, jeden po drugim :)

Nuno
źródło
Świetnie, dokładnie to, czego szukałem, dzięki! Użycie start explorer.exew pliku cmd czyni eksploratora procesem w tle, więc okno powłoki nie pozostaje otwarte po zakończeniu.
Shlublu
1
Jeśli stosuje się overlays.regplik w .cmdze regedit -s overlays.regmożna naprawić wszystko w jednej akcji. Możesz także po prostu usunąć cały HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiersklucz i dodać wymagane ponownie, w przeciwnym razie OneDrive i Dropbox będą dodawać spacje do klawiszy.
Dave Anderson