目前,我已将各种文本文件格式(.md、.txt、.taskpaper)关联到 sublime text 打开。这导致所有文件都被分配了相同的图标文件,即 sublime text 图标。
我如何才能让每种文件格式都有自己独特的图标文件(由我提供)?
第一次尝试
使用 Nirsoft 的 FileManType 更改与其中一种文件类型关联的图标。结果:它更改了 sublime 打开的所有文件类型的图标(这不是我想要的)
第二次尝试
现在我试着变得聪明一点......
- (1)为每种文件格式创建 sublime exe 的快捷方式
- (2)为每个快捷方式赋予其独特的图标,快捷方式可以接受这些图标
- (3)将(比如说).md 文件打开的程序设置为其自己的特殊快捷方式等......
这次它只是忽略了快捷方式中包含的图标,并保留了 sublime 图标
有任何想法吗?
答案1
答案2
您可以参考这个MSDN文章
在中创建一个名为 DefaultIcon 的子键
HKEY_CLASSES_ROOT\.extension
为 DefaultIcon 子键分配一个默认值,
REG_SZ
该类型指定包含图标的文件的完整限定路径。注销并重新登录
编辑:看起来 Windows 10 注册表为每个应用程序都有单独的条目,因此例如我想更改我的 Notepad++ .ico,所以我找到了该HKEY_CLASSES_ROOT\Notepad++_file
条目并修改了现有的 DefaultIcon 路径。忘记添加这个了。这是其中一条评论
答案3
这是相当困难的,而且原因很有趣。
从 Windows Vista 开始,文件类型大多由“用户选择”选项管理(从 FileTypesMan 界面可以看出),该选项将程序、图标、菜单选项等捆绑到一种文件类型中,例如“ChromeHTML”。以前,我们可以简单地创建一个新的文件类型,然后将给定文件扩展名的用户选择选项修改为新类型,但现在情况不同了。从 Windows 8 开始,系统在用户选择选项中引入了一个“哈希”,这基本上是一个密码,可以保护文件扩展名不被系统 UI 以外的任何人修改。几乎所有文件类型管理工具(包括 FileTypesMan 和默认程序编辑器)都无法破解该密码,因此无法帮助您更改用户选择。
我知道只有一个例外。它被称为 SetUserFTA。该工具的作者以某种方式对系统进行了逆向工程,并找出了用于创建哈希的确切算法,因此确实可以更改单个文件扩展名的用户选择,而无需更改其他任何内容。该工具可以从
所以现在您需要做的就是像以前一样创建一个新的文件类型,然后使用 SetUserFTA 来更改扩展名。
答案4
我刚刚经历了这一切,想分享我的具体解决方案。我喜欢使用 Chrome 查看 PDF 文件,但讨厌所有 PDF 文件看起来都像 Chrome 网页或 Edge 网页!我对注册表进行了两项更改,尽管我不认为 .pdf 注册表更改是必要的。
右键单击,以管理员身份运行 Regedit,并添加以下两个键:
HKEY_CLASSES_ROOT>.pdf>
(Default) = pdf_auto_file [Locate this program name for step 2]
DefaultIcon [added this key to the .pdf]
(Default) = C:\Windows\system32\shell32.dll,75 [set the value of DefaultIcon]
HKEY_CLASSES_ROOT>
pdf_auto_file>
DefaultIcon [add the DefaultIcon key to pdf_auto_file]
(Default) = C:\Windows\system32\shell32.dll,75 [set the value of DefaultIcon]
我使用了一个叫做图标探索器找到我喜欢的图标并获取正确的路径。