您的位置:首页 > 其它

Troubleshooting 错乱的图标

2014-01-14 16:27 211 查看
有个同事的所有快捷方式全部变成了Word的图标,点击任何快捷方式会打开word.所有Docx结尾的文档图标全部变成了写字板的图标,打开docx文件都会打开写字板,关键有个更奇怪的地方,Lync2010的快捷方式图标显示为画图程序,Adobe Acrobat的图标也是画图程序。








OK ,图标错乱,一般是文件关联出错导致,快捷方式文件结尾为lnk ,因此找到lnk的默认文件关联设置应该可以解决快捷方式图标问题,docx的问题也是一样。

网上找到一个Fix LNK的注册表,发现了这句是关键,照本宣科也发现docx 的这个地方设置的也有问题,删除下面两个地方的注册表后,杀掉explorer.exe ,重新运行explorer.exe 进程后,快捷方式和Docx的文件图标都正常了

[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.LNK\UserChoice]

[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.docx\UserChoice]

现在还剩下Lync2010的图标还有Acrobat 9 的一系列图标还是画图程序的图标,百思不得其解,在这些快捷方式上点击右键发现target 都是灰色的,这种LNK文件和office 的一系列图标类似,如下图(目标、打开文件位置、更改图标都是灰色的)




查找资料发现这个这个链接,发现这种快捷方式原来是windows installer 的功能,叫advertised shortcut,里面还提供了一个脚本。

http://superuser.com/questions/263505/how-do-i-find-the-target-of-an-advertised-shortcut
Option Explicit
Dim MSITarget

OnErrorResumeNext' just some simple error handling for purposes of this exampleIf wscript.arguments.count = 1 Then' did actually pass an MSI advertised shortcut? Or, at least, a parameter that could be such a thing?With CreateObject("WindowsInstaller.Installer")
Set MSITarget = .ShortcutTarget(wscript.arguments(0))
' 下面三行是自己加的
wscript.echo MSITarget.StringData(1)
wscript.echo MSITarget.StringData(2)
wscript.echo MSITarget.StringData(3)
If Err = 0 then MsgBox .ComponentPath(MSITarget.StringData(1), MSITarget.StringData(3))
Else
MsgBox wscript.arguments(0) & vbcrlf & "is not a legitimate MSI shortcut file or could not be found"EndIfEndWithEndIfOnErrorGoto 0
对Office的快捷方式用上面的vbs查询下信息,发现和WordFiles 有关系,我也用这个脚本对Lync2010的快捷方式查询下,竟然发现和PBrush有关搜索注册表查询pbrush,找到下面这个位置,删除这个注册表设置后,杀掉Explorer.exe,然后重新运行Explorer.exe ,问题解决。

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ico\UserChoice
"Progid"="PBrush"



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息