Windows文件图标角标的争夺战

事情的起因是这样的,本来我电脑里有个Tortoise Git,可爱的小乌龟Git会贴心地为仓库文件夹下的文件添加角标,来指示一个文件的git状态,就像这样

接着我安装了一个Adobe Illustrator,然后文件资源管理器就崩溃了。重启之后这个角标就消失了。

经过某不存在的网站搜索,原来是这么一回事,真是奇妙而又愚蠢。

控制显示图标角标的设定,储存在注册表的这样一个位置中:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\

这个目录下看起来像这样

其中每一个条目都是一种角标。

然而最坑的地方在于,根据维基百科的描述,Windows总共支持加载最多15种角标,其中系统要占用4种,剩下11种可以由应用程序添加到注册表完成。

那注册表中要是多于11个条目怎么办呢?Windows只会加载名字靠前的11个条目,之后的条目会被忽略。

我原来的电脑上Onedrive占了7条,Tortoise占了9条,因为Onedrive添加的条目名字排在Tortoise之前,所以Tortoise的前4条可以正常显示。

现在Adobe来了,在注册表中添加了暂时不知道有什么用的3条

这3条按字典序排在最前,于是可怜的Tortoise就被挤没了。

解决方法就是,像我之前图里的那样,更改条目名字(比如在前面添加空格),让Tortoise条目排到前面去。

参考:

The battle to own Windows Explorer shell overlay icons, or why your OneDrive green ticks have stopped workingwww.itwriting.com图标

发布于 2019-10-28