我到处都找过了,但没有成功。
我想知道如何更改当 exe 文件不包含图标时 Windows 显示的默认图标。我还想更改当 Windows 无法识别文件扩展名时显示的图标。请注意,我不是在寻找更改 exe 文件中的图标的方法。
我查看了注册表HKCR
,但HKCU\Software\Classes
没有成功。
此外,Windows 7 声称使用中的第一个图标来shell32.dll
表示未知文件类型,但中的图标shell32.dll
与 Windows 7 显示的图标不匹配。
任何帮助将非常感激!
编辑:我发现图标位于imageres.dll
。我还没有查看注册表以查看它是否在任何地方被引用。
编辑2:感谢 jay 提供的信息,我决定将文件类型DefaultIcon
的键更改Unknown
为另一个图标文件,然后 Explorer 显示了我指定的图标!显然,Windows 用 中的图标替换了文件中对shell32.dll
图标的引用imageres.dll
。此外,据我所知,exe 文件的默认图标未在注册表中引用,而是硬编码到系统 dll 文件中。
答案1
主题和皮肤软件只是对这些文件的资源进行破解。我不建议更改系统文件,因为它们的版本可能不同,可能会导致各种问题,而且 Windows 更新可能会更改它们。
您可以使用资源黑客更改资源。注意我上次使用这个是在 00 年代初期,所以现在可能有一些更现代的东西。您还可以在 DeviantArt 等皮肤社区找到替换文件,拿这个(自定义imgres.dll
文件):
我认为注册表中没有可以轻易修改以更改默认图标的引用,因此人们会破解这些 DLL。但有趣的是(根据我的评论),我注意到在 Vista 及更高版本的 Windows 上,shell32.dll 中对 XP 主题图标的任何引用似乎在视觉上都会自动被 imgres 中的图标覆盖(也许是某种平台文件图标一致性的强制措施)。
再次强调,我不建议修改系统文件,尤其是用互联网上的来替换它们!