ฉันสามารถป้องกันการเปลี่ยนไอคอนซ้อนทับได้หรือไม่


16

พื้นหลัง

หลายโปรแกรมปรับเปลี่ยนไอคอนใน explorere เพื่อระบุสถานะ ("ซิงก์" TortoiseCVS ซิงค์ภาพซ้อนทับเป็นต้น)

มันเป็นความจริงที่รู้จักกันดีว่า Windows (win7, win8, win10?) สามารถจัดการไอคอนดังกล่าวในจำนวนที่ จำกัด (~ 15) และมีคำถามที่เกี่ยวข้องมากมาย (fe ที่นี่ )

โอเวอร์เลย์ไอคอนเหล่านี้มีการลงทะเบียนในรีจิสตรีในสาขา:

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

ตำแหน่งของไอคอนการซ้อนทับเชลล์ในรีจิสทรี

มีเพียงการใช้งานสองรายการแรกเท่านั้น (15?) รายการอื่น ๆ จะถูกละเว้น ดังนั้นการมีหลายโปรแกรมติดตั้งไอคอนซ้อนทับของตัวเองอาจทำให้พฤติกรรมของโปรแกรมที่ติดตั้งแล้วเสียหาย

เพื่อแก้ไขปัญหานี้มักจะต้องเข้าไปในรีจิสทรีและลบ (หรือเปลี่ยนชื่อ) รายการที่ไม่ต้องการจนกว่าคนที่ต้องการอยู่ด้านบน

ปัญหา

เมื่อเร็ว ๆ นี้ฉันสังเกตเห็นว่าพฤติกรรม 'ก้าวร้าว' ของหลาย ๆ โปรแกรมต่อสู้เพื่อตำแหน่งสูงสุดเหล่านี้ สิ่งนี้กระทำได้บ่อยที่สุดโดยมีชื่อคีย์ซึ่งขึ้นต้นด้วยอักขระช่องว่างสีขาวเพื่อบังคับใช้การเรียงลำดับบนสุด Dropbox , GoogleDrive , SkyDriveและOneDriveเป็นตัวอย่างทั้งหมดที่ทำเช่นนี้ บางอย่างเช่นGoogleDriveใช้พื้นที่สีขาวสามครั้งในปัจจุบัน แต่โปรแกรมอื่น ๆ มีความเท่าเทียมกัน ...

อะไรคือสิ่งที่เลวร้ายกว่าบางโปรแกรมซ่อมแซมการตั้งค่านี้โดยอัตโนมัติในระหว่าง 'อัพเดต' อัตโนมัติใด ๆ (หรือแม้แต่ตรวจสอบการอัปเดตหรือเปิดตัวโปรแกรม) ดังนั้นการปรับค่าด้วยตนเองจะถูกยกเลิกอย่างสม่ำเสมอ ฉันสังเกตเห็นอย่างน้อยสำหรับGoogleDrive , DropboxและOneDrive

คำถาม

มีวิธีการ 'ป้องกัน' รีจิสทรีจากการเปลี่ยนแปลงอัตโนมัติเช่นนั้นหรือไม่?

แก้ไข (คำตอบ)

Alexey Ivanov ได้ให้คำแนะนำที่ดีในความคิดเห็นด้านล่างและจนถึงตอนนี้ "การเพิกถอนสิทธิ์การใช้งานรีจิสทรี" ได้ระงับปัญหาให้ฉันแล้ว


2
ฉันได้ทำการเปลี่ยนแปลงที่สำคัญในโพสต์ของคุณ - ปัญหาคือถ้าคุณขอไฟล์แบตช์มันเป็นหัวข้อนอกเพราะเราไม่ได้เป็นผู้ให้บริการเขียนสคริปต์ นอกจากนี้แบทช์อาจเป็นวิธีที่ดีที่สุด ด้วยการรักษาความเรียบง่ายนี้ไว้ (หวังว่า) จะช่วยให้คำตอบประเภทต่างๆ อย่าลังเลที่จะย้อนกลับการเปลี่ยนแปลงของฉันถ้ามันใหญ่เกินไป แต่ก็ยอมรับว่ามันอาจถูกมองว่าเป็นหัวข้อนอกเวลา
เดฟ

@ เดฟ: โอเคไม่รู้ว่าแบตช์ไฟล์ถูก จำกัด ในเว็บไซต์นี้เพราะฉันได้เห็นคำตอบมากมาย ฉันแค่คิดว่าไฟล์แบทช์อาจเป็นวิธีการแก้ปัญหา "เพียงอย่างเดียว" ที่นี่ แต่จริงๆแล้วฉันอยู่หลังการแก้ไขไม่ว่าด้วยวิธีใดและการแก้ไขของคุณก็ใช้ได้กับฉัน หากคุณคิดว่าสิ่งนี้จะช่วยเพิ่มการตอบรับของโพสต์มากกว่าขอบคุณมาก
BmyGuest

โอ้ขอความช่วยเหลือเกี่ยวกับไฟล์แบตช์ปัจจุบันของคุณก็โอเค (และคุณต้องแชร์รหัส) แต่ขอให้เราเขียนหนึ่งสำหรับคุณไม่ได้ :)
Dave

1
ฉันชอบคำตอบนี้จริงๆ Dropbox น่ารำคาญจริงๆโดยแทนที่ไอคอน TortoiseSVN ทุกครั้งที่มีการอัพเดต ฉันสร้างสคริปต์ที่แก้ไขปัญหาเหล่านั้นและเริ่ม Windows Explorer ใหม่ แต่พบคำถามนี้ในขณะที่พยายามหาวิธีที่จะหลีกเลี่ยงไม่ให้ทำเช่นนั้น ...
Nuno

2
สิ่งแรกที่อยู่ในใจของฉันคือการเพิกถอนสิทธิ์การเขียนจากคีย์รีจิสทรีนั้น จากนั้นโปรแกรมจะไม่สามารถแก้ไขรายการรีจิสตรีได้ ในการอนุญาตให้แอปพลิเคชันลงทะเบียนเป็นชุดไอคอนซ้อนทับคุณจะต้องแก้ไขการอนุญาตบนปุ่มอีกครั้งเพื่อเพิ่มสิทธิ์ในการเขียน
Alexey Ivanov

คำตอบ:


13

สิ่งที่ฉันทำเนื่องจาก 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 ทำให้กระบวนการ explorer เป็นพื้นหลังดังนั้นหน้าต่างเชลล์จะไม่เปิดหลังจากที่เสร็จสิ้น
Shlublu

1
หากคุณใช้overlays.regไฟล์ในของคุณ.cmdด้วยregedit -s overlays.regคุณสามารถแก้ไขทุกอย่างในการกระทำเดียว นอกจากนี้คุณยังสามารถลบHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiersคีย์ทั้งหมดและเพิ่มกลับได้ตามต้องการมิฉะนั้น OneDrive และ Dropbox จะเพิ่มช่องว่างในคีย์
เดฟแอนเดอร์สัน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.