我可以为文件类型分配自定义图标吗

问题描述 投票:0回答:2

有没有一种方法可以将文件类型(如(.php、.css、.js))关联到自定义图标,即使该文件已与程序关联。

例如在我的电脑上.php与sublime文本相关联,当我在我的文件系统上遇到.php时,它显示ST的图标,有没有办法让它更改为像好大象一样的自定义图标,但仍然与 ST 相关联,即当我单击该文件时,它仍然在 ST 中打开(== sublime text)。

windows file icons
2个回答
6
投票

我知道如何为分配给 Notepad++ 的文件类型执行此操作。

在 Windows 10 中,Notepad++ 不断劫持您在 Notepad++ 中打开(默认)的文件类型的图标。打破这种行为非常困难,但我终于让它发挥作用了!

 

准备工作

1。注册表权限
打开Windos注册表,并为自己的文件夹

HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
提供足够的“权限”。我自己不确定整个过程成功的最低设置是什么。你必须稍微调整一下设置。每当您在接下来的过程中收到错误消息时,请返回到此步骤并增加您的注册表权限。

2。制作一些自定义图标
制作一些自定义图标,例如在文件夹

C:\ICONS\
中。我使用以下网站 https://iconverticons.com/online/ 将 256x256 png 文件转换为 ico 文件。

3.安装记事本++
只需获取 Notepad++。这里没什么特别的。

4。打开具有管理员权限的终端
在 Windows 搜索栏中输入

cmd
。右键单击出现的 CMD 图标,然后在弹出窗口中选择“以管理员身份运行”。

 

注册表黑客攻击

免责声明:更改注册表可能会损坏您的 Windows 安装。我出于好意写下了下面的程序,但如果出现问题,我不承担任何责任。
注意:我不建议对

.bat
文件使用此过程。这是 Windows 中非常重要的文件类型。所以我不知道如果删除它的标准注册表项会发生什么。

以下过程描述了如何将您在

C:\ICONS\abcfile.ico
中创建的自定义图标分配给所有
*.abc
文件。

1。注册表黑客攻击,第一部分
您应该添加的第一个注册表项是

HKEY_CLASSES_ROOT\.abc
。如果此键已存在,您可能需要将其删除。使用以下命令删除该项及其所有子项:

> REG DELETE HKEY_CLASSES_ROOT\.abc /f

下图显示了我们如何(重新)构建此注册表项及其所有子项:

enter image description here

您可以手动执行或运行以下命令:

> REG ADD HKEY_CLASSES_ROOT\.abc /ve /t REG_SZ /d "abc_auto_file"
> REG ADD HKEY_CLASSES_ROOT\.abc /v BrowserFlags /t REG_DWORD /d 0x00000000
> REG ADD HKEY_CLASSES_ROOT\.abc /v EditFlags /t REG_DWORD /d 0x00000000
> REG ADD HKEY_CLASSES_ROOT\.abc /v PerceivedType /t REG_SZ /d "text"
> REG ADD HKEY_CLASSES_ROOT\.abc\DefaultIcon /ve /t REG_SZ /d "C:\ICONS\abcfile.ico,0"

2。注册表黑客攻击,第二部分
您应该添加的第二个注册表项是

HKEY_CLASSES_ROOT\abc_auto_file
。如果此键已存在,您可能需要将其删除。使用以下命令删除该项及其所有子项:

> REG DELETE HKEY_CLASSES_ROOT\abc_auto_file /f

下图显示了我们如何(重新)构建此注册表项及其所有子项:

enter image description here

您可以手动执行或运行以下命令:

> REG ADD HKEY_CLASSES_ROOT\abc_auto_file /ve /t REG_SZ
> REG ADD HKEY_CLASSES_ROOT\abc_auto_file\DefaultIcon /ve /t REG_SZ /d "C:\ICONS\abcfile.ico"
> REG ADD HKEY_CLASSES_ROOT\abc_auto_file\shell /ve /t REG_SZ
> REG ADD HKEY_CLASSES_ROOT\abc_auto_file\shell\edit /ve /t REG_SZ
> REG ADD HKEY_CLASSES_ROOT\abc_auto_file\shell\edit\command /ve /t 
> REG_EXPAND_SZ /d "\"C:\Program Files (x86)\Notepad++\notepad++.exe\" \"^%1\""
> REG ADD HKEY_CLASSES_ROOT\abc_auto_file\shell\open /ve /t REG_SZ
> REG ADD HKEY_CLASSES_ROOT\abc_auto_file\shell\open\command /ve /t 
> REG_EXPAND_SZ /d "\"C:\Program Files (x86)\Notepad++\notepad++.exe\" \"^%1\""

3.注册表黑客攻击,第三部分
您应该添加的第二个注册表项是

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.abc
。如果此键已存在,您可能需要将其删除。使用以下命令删除该项及其所有子项:

> REG DELETE HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.abc /f

下图显示了我们如何(重新)构建此注册表项及其所有子项:

enter image description here

您可以手动执行或运行以下命令:

> REG ADD HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.abc /ve /t REG_SZ
> REG ADD HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.abc\OpenWithList /ve /t REG_SZ
> REG ADD HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.abc\OpenWithProgids /ve /t REG_SZ
> REG ADD HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.abc\OpenWithProgids /v "C:\Program Files (x86)\Notepad++\notepad++.exe" /t REG_NONE /d 0
> REG ADD HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.abc\OpenWithProgids /v abc_auto_file /t REG_NONE /d 0

 

刷新图标缓存

以下命令应刷新 Windows 图标缓存:

> %windir%\system32\ie4uinit.exe -show

 

将 Notepad++ 分配给文件类型

我注意到,有时,更改仅在将 Notepad++ 指定为打开文件类型的默认程序后才会生效。 这是如何做到这一点:

  • 创建具有给定文件类型的文件,例如:
    myFile.abc
  • 右键单击该文件,然后选择“打开方式”>>“另一个应用程序”
  • 您应该会看到一个弹出窗口,例如:enter image description here
  • 选择Notepad++作为默认程序

 

完成

通常图标现在已经改变了!该特定文件类型的所有文件都将具有自定义图标。它们将默认在 Notepad++ 中打开。

也许您应该再次刷新图标缓存:

> %windir%\system32\ie4uinit.exe -show

或者重新启动系统以使其生效(尽管我不需要重新启动)。


0
投票

查看这篇关于 Typesmake-use-of 文章 以及另一篇类似的文章; 默认程序编辑器

© www.soinside.com 2019 - 2024. All rights reserved.