如何恢复我的 .xml 默认图标?

如何恢复我的 .xml 默认图标?

我的 XML 文件显示未知程序图标。

为什么我不能更改图标?我在注册表中查找了,但没有发现错误。请看以下内容:

Windows 注册表编辑器版本 5.00

[HKEY_CLASSES_ROOT\.xml]
@="xml文件"
“内容类型”=“text/xml”
“PerceivedType”=“文本”

[HKEY_CLASSES_ROOT\.xml\PersistentHandler]
@="{7E9D8D44-6926-426F-AA2B-217A819A5CCE}"

Windows 注册表编辑器版本 5.00

[HKEY_CLASSES_ROOT\xml文件]
@="@C:\\Windows\\System32\\msxml3r.dll,-1"
“编辑标志”=十六进制:00,00,00,00
"友好类型名称"=十六进制 (2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,\
  00,6f,00,6f,00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,\
  32,00,5c,00,6d,00,73,00,78,00,6d,00,6c,00,33,00,72,00,2e,00,64,00,6c,00,6c,\
  00,2c,00,2d,00,31,00,00,00

[HKEY_CLASSES_ROOT\xmlfile\BrowseInPlace]

[HKEY_CLASSES_ROOT\xmlfile\CLSID]
@="{48123BC4-99D9-11D1-A6B3-00C04FD91555}"

[HKEY_CLASSES_ROOT\xmlfile\DefaultIcon]
@="C:\\Windows\\System32\\msxml3.dll,0"

[HKEY_CLASSES_ROOT\xmlfile\shell]
@="打开"

[HKEY_CLASSES_ROOT\xmlfile\shell\edit]

[HKEY_CLASSES_ROOT\xmlfile\shell\edit\命令]
@="\"C:\\Program Files\\Common Files\\Microsoft Shared\\OF​​FICE11\\MSOXMLED.EXE\" /verb edit \"%1\""

[HKEY_CLASSES_ROOT\xmlfile\shell\Open]

[HKEY_CLASSES_ROOT\xmlfile\shell\Open\命令]
@="\"C:\\Program Files\\Common Files\\Microsoft Shared\\OF​​FICE11\\MSOXMLED.EXE\" /verb 打开 \"%1\""

[HKEY_CLASSES_ROOT\xmlfile\shell\Open\ddeexec]
@=""

[HKEY_CLASSES_ROOT\xmlfile\ShellEx]

[HKEY_CLASSES_ROOT\xmlfile\ShellEx\IconHandler]
@="{AB968F1E-E20B-403A-9EB8-72EB0EB6797E}"

您能找出错误吗?或者您可以粘贴您的注册表值吗?

我需要有关 xml 的默认注册表值,该值与默认关联的 exe 有关。

答案1

是的,这次与图标缓存无关。正如这篇文章正确指出的那样: http://www.sevenforums.com/microsoft-office/152972-no-icon-xml-files.html#post1315413

问题是由于 IconHandler 引起的,显然是由某些 Office 套件版本安装的。因此,只需IconHandler从键中删除子键xmlfile,并在键中保留一个合理的预定义字符串值DefaultIcon(如您已有的字符串值)即可。

答案2

Office 使用 32 位图标处理程序,这会破坏 64 位系统上的 XML 图标。

要阻止 Office 尝试为 XML 文件提供图标,您可以使用此注册表脚本:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\xmlfile\DefaultIcon]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,6d,00,73,00,\
  78,00,6d,00,6c,00,33,00,2e,00,64,00,6c,00,6c,00,2c,00,30,00,00,00

[-HKEY_CLASSES_ROOT\xmlfile\ShellEx\IconHandler]

这会将DefaultIcon密钥的默认值设置为,%SystemRoot%\System32\msxml3.dll,0并删除该IconHandler密钥。

在使用此注册表脚本之前,请确保您想要该默认密钥(我认为 Windows Vista/7/8 默认使用该值),并可选择备份您的IconHandler密钥。

答案3

它应该会显示正确的图标,但您可以尝试重建图标缓存。一个简单的方法是删除文件图标缓存数据库在您的用户路径下找到当地的(在 Win XP 中)或\应用程序数据\本地(Vista/7)。(删除此文件后您可以重新启动)

答案4

我遇到了同样的问题,对我来说,只需删除注册表项即可HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.xml

相关内容