SVN图标不显示问题 图标覆盖(IconOverlay) 修复SVN图标覆盖 如何编程来实现

在解决此问题前,先了解一个名词“图标覆盖”。

图标覆盖是Windows系统中一种文件或文件夹图标状态(不是图标),常用于资源管理器、网络云盘、SVN等。

OneDrive网络云盘:

SVN图标不显示问题
图标覆盖(IconOverlay)
修复SVN图标覆盖
如何编程来实现

SVN:

SVN图标不显示问题
图标覆盖(IconOverlay)
修复SVN图标覆盖
如何编程来实现

某些加密软件:

SVN图标不显示问题
图标覆盖(IconOverlay)
修复SVN图标覆盖
如何编程来实现SVN图标不显示问题
图标覆盖(IconOverlay)
修复SVN图标覆盖
如何编程来实现

在注册表中可看到所有图标覆盖及顺序:

SVN图标不显示问题
图标覆盖(IconOverlay)
修复SVN图标覆盖
如何编程来实现

有时杀毒软件报毒,就是说的这个注册表。

SVN图标不显示问题
图标覆盖(IconOverlay)
修复SVN图标覆盖
如何编程来实现

修复SVN图标覆盖

Windows支持的图标覆盖最多 15 个,按图标名称的字母顺序来优先显示的,顺序位15以后的则无效。理解了这一点,修改起来就比较方便了。在项前面空格加点,你看百度网盘的手段。

SVN图标不显示问题
图标覆盖(IconOverlay)
修复SVN图标覆盖
如何编程来实现

修改排位顺序后,重启资源管理器或重启系统。注册表如下:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerShellIconOverlayIdentifiers]
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerShellIconOverlayIdentifiers    .TortoiseNormal]
@="{C5994560-53D9-4125-87C9-F193FC689CB2}"
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerShellIconOverlayIdentifiers    .TortoiseModified]
@="{C5994561-53D9-4125-87C9-F193FC689CB2}"
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerShellIconOverlayIdentifiers    .TortoiseConflict]
@="{C5994562-53D9-4125-87C9-F193FC689CB2}"
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerShellIconOverlayIdentifiers    .TortoiseLocked]
@="{C5994563-53D9-4125-87C9-F193FC689CB2}"
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerShellIconOverlayIdentifiers    .TortoiseReadOnly]
@="{C5994564-53D9-4125-87C9-F193FC689CB2}"
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerShellIconOverlayIdentifiers    .TortoiseDeleted]
@="{C5994565-53D9-4125-87C9-F193FC689CB2}"
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerShellIconOverlayIdentifiers    .TortoiseAdded]
@="{C5994566-53D9-4125-87C9-F193FC689CB2}"
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerShellIconOverlayIdentifiers    .TortoiseIgnored]
@="{C5994567-53D9-4125-87C9-F193FC689CB2}"
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerShellIconOverlayIdentifiers    .TortoiseUnversioned]
@="{C5994568-53D9-4125-87C9-F193FC689CB2}"
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerShellIconOverlayIdentifiersOffline Files]
@="{750fdf0e-2a26-11d1-a3ea-080036587f03}"

如何编程来实现

如果有需要,也可以通过编程来实现自定义的图标覆盖。

https://segmentfault.com/a/1190000009279826