![生成的文件夹图标及其在注册表中保存的文件夹属性在哪里?](https://linux22.com/image/1388196/%E7%94%9F%E6%88%90%E7%9A%84%E6%96%87%E4%BB%B6%E5%A4%B9%E5%9B%BE%E6%A0%87%E5%8F%8A%E5%85%B6%E5%9C%A8%E6%B3%A8%E5%86%8C%E8%A1%A8%E4%B8%AD%E4%BF%9D%E5%AD%98%E7%9A%84%E6%96%87%E4%BB%B6%E5%A4%B9%E5%B1%9E%E6%80%A7%E5%9C%A8%E5%93%AA%E9%87%8C%EF%BC%9F.png)
右键单击文件夹并选择属性。选择“自定义”选项卡。在底部选择“更改图标”等
效果非常好。我的问题是:这些信息保存在注册表的哪里?
答案1
有关特殊对象图标的信息(如回收站或者我的电脑) 和类对象(例如文件类型)存储在注册表中。有关图标的信息个别物体通常与对象一起存储。特别是,当您通过“属性”窗口的“自定义”选项卡为文件夹分配自定义图标时,该图标存储在DESKTOP.INI
文件夹中的文件中。它具有Hidden 和年代系统属性设置,所以除非你去寻找它,否则你不会看到它。具体来说,Windows 将写入如下行:
[.ShellClassInfo]
IconResource=C:\Windows\system32\SHELL32.dll,60
进入DESKTOP.INI
文件。
答案2
查找系统图标
这些图标不存储在注册表中,它们通常被打包到 .dll 文件中。请注意,.exe、.ocx、.icl、.ico 也是有效的图标文件。最重要的两个文件是:
C:\Windows\system32\imageres.dll
C:\Windows\system32\shell32.dll
还有更多系统图标隐藏在:
C:\Windows\system32\compstui.dll
C:\Windows\system32\DDORes.dll
C:\Windows\system32\ieframe.dll
C:\Windows\system32\mmcndmgr.dll
C:\Windows\system32\moricons.dll
C:\Windows\system32\netshell.dll
C:\Windows\system32\pnidui.dll
C:\Windows\system32\wmploc.dll
并非所有这些功能都可以在 Windows XP 下使用,只能在 Windows 7 及更高版本下使用。
您可以使用 Nirsoft 等工具将它们提取为普通的 .ico 文件资源摘录
分配系统图标
单个 .dll 可以包含多个图标,每个图标在 dll 中都有其唯一索引。应使用哪个 .dll 和哪个索引的信息因文件夹类型而异
特殊文件夹,例如回收站或者我的电脑是保存在注册表中
HKEY_CLASSES_ROOT\CLSID\{xxxx}\DefaultIcon (Default) %SystemRoot%\System32\imageres.dll,3
{xxxx}
必须用正确的 Windows 类标识符替换。(点击查看完整列表)这
,3
意味着相关文件夹应该显示第三个图标图像资源管理器普通文件夹可以自定义通过创建一个桌面配置文件文件位于该文件夹中。典型的文件如下所示:
[.ShellClassInfo] IconFile=%SystemRoot%\system32\imageres.dll IconIndex=3