个人资料
星光璀璨210
星光璀璨210
博客十周年地图
  • 博客等级:
  • 博客积分:70积分
  • 博客访问:162
  • 关注人气:0
  • 获赠金笔:0
  • 赠出金笔:0
  • 荣誉徽章:点亮荣誉勋章兑换图片博主服务兑换私密博文现有金笔1支
正文 字体大小:

修复有关文件默认打开方式的问题

(2017-01-11 16:45:24)
标签:

杂谈

​        有时候,我们发现由于打开的文件没有相关联的应用程序,或者打开的时候使用的软件错误或关联错了。导致文件打开失败或者打开显示不了,打开乱码等。那么怎么还原打开方式呢,本文讲解如何修复常见的各类文件打开方式出错问题。


一、错误的选择了文件类型的打开方式问题

        如果电脑上安装了对应软件,用户选错了默认关联程序,可以通过【打开方式】对话框重新改回。但如果没有安装对应程序, 即该文件类型还没有任何与之关联的应用程序,如动态链接库(.dll)等(这类文件默认没有关联打开方式,只有当用户安装了相应软件,才会应用关联),用户在【打开方式】对话框中,错误的选择了应用关联,此时,打开这类文件,都可能会出来乱码的情况。且无法通过【打开方式】对话框重置关联。

        下面就拿dll文件做测试,这里要用到的一款软件叫RegSnap6,它是一款注册表比较工具,可通过新建两个注册表快照进行比较,快速找出修改的注册表位置。

http://wx3/large/d2d7099fly1fblwbsbj50j20ho08vjrw.jpg

​        在测试前请先备份注册表数据。然后打开RegSnap6,点击【文件】→【新建】菜单,在弹出的对话框中使用默认选项【仅生成注册表的快照】点【确定】按钮创建快照,不要关闭。然后右键点击任意一个dll文件,选择【打开方式】菜单,弹出【打开方式】对话框,这里选择关联Word,并把下方【始终使用选择的程序打开这类文件】选项勾上。此时,双击任意dll文件,就会调用word打开。因为word不支持dll文件类,所以显示出来的是一堆乱码。

http://wx4/large/d2d7099fly1fblwmpil2aj20gz06zq35.jpg

​        现在,我们重新使用RegSnap6,新建一个注册表快照,然后点击【文件】→【比较】菜单,在弹出比较快捷对话框中选择【显示被修改的主键名称及键值】,并勾上【映射主键名称到当前用户】选项,点【确定】开始比较。经过仔细对比后发现注册表HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.dll分支数据有如下修改,其他位置的dll文件关联数据没有被改动。

http://wx2/large/d2d7099fly1fblx0adzepj20j30bu41x.jpg

​        解决方法:找到问题所在,那就好办了,我们可以删除对应注册表数据即可。点击【开始】→【运行】菜单,或按Win(徽标键) R组合键,打开【运行】对话框。输入Regedit,点【确定】,打开注册表编辑器。依次展开到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.dll分支,将.dll子项整个删除,问题消失。

        如果上述办法没有解决,此时展开注册表到HKEY_CLASSES_ROOT\.dll分支,查看它的默认数据值是不是dllfile,如果不是,将它改为dllfile。然后展开注册表到HKEY_CLASSES_ROOT\dllfile子项,查看该分支下面有没有shell子项,有就把它删除即可。这个方法同样适用于其他文件类型,如快捷方式(.lnk)关联错误问题等。

http://wx4/large/d2d7099fly1fblxg24eomj20h00883zt.jpg

        如果是可执行文件(如exe、bat、cmd文件等)出现关联问题,到C:\WINDOWS文件夹下,将注册表程序regedit.exe改名为regedit.cmd(cmd为未出现问题的可执行文件类型)。然后双击打开它,展开到HKEY_CLASSES_ROOT\.exe分支, 将默认数据值改为exefile。然后展开到HKEY_CLASSES_ROOT\exefile\shell\open\command分支,将其默认数据值修改为 "%1" %* 就行了,最后记得把注册表程序名字改回来。

http://wx3/large/d2d7099fly1fbly0hqjcfj20gy088gmj.jpg

​        PS:如果用户是通过【打开方式】对话框修改的默认关联,请展开注册表到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ext分支(ext为你修改文件类型),在ext分支的右边窗口中有个叫Application的字符串值(REG_SZ),它的值便是你当前选择的默认应用可执行文件名称,将它改回或删除整个.ext子项即可。如果用户是通过【文件夹选项】中的【文件类型】选项卡修改的默认关联, 请展开注册表到HKEY_CLASSES_ROOT分支下的对应子项,并做上述修改。


二、点击【选择程序】菜单出现选择关联提示

​        当用户准备要设置一个文件的关联程序时,在任意文件上点右键,然后点击【打开方式】→【选择程序】菜单, 此时并没有弹出熟悉的【打开方式】对话框,反而出现该文件尚无关联的错误提示:“该文件没有与之关联的程序来执行该操作,请在控制面板的文件夹选项中创建关联。“从而无法选择其他程序打开文件。

http://wx2/large/d2d7099fly1fbmo77w25xj20e2037t8u.jpg

​ ​       解决方法:​该问题是由于未知文件类型注册表信息发生错误或不完整导致的。当用户更新过某些应用软件, 或某些应用未正常卸载,有时就会出现上述问题,但是并不多见。此时,运行Regedit打开注册表编辑器。依次展开到HKEY_CLASSES_ROOT\Unknown\shell分支,将其默认数据值修改为openas;然后再展开到下面的openas\command分支,将command分支的默认数据值修改为%SystemRoot%\system32\rundll32.exe %SystemRoot%\system32\shell32.dll,OpenAs_RunDLL %1 ,在右边窗口中新建一个字符串值(REG_SZ),命名为DelegateExecute,然后它的数据值为{e44e9428-bdbc-4987-a099-40dc8fd255e7},问题消失。如果上述子项不存在,可以自己新建。


三、默认打开方式无法修改

        也许有时你会遇到这种情况:当你要设置某类文件打开方式时,却发现【打开方式】对话框的 【应用程序】列表中并没有你想要的程序, 即使你通过下方的【浏览】按钮,选择了你要的程序,但确定后它仍然没有出现在【推荐程序】列表里,你是不是会很郁闷?

        其实这一般是由于用户没有正常卸载相应的应用程序造成。当用户没有正常卸载相关应用程序,之后安装上了新版本。但系统记住的依然是之前版本的注册表信息。此时就可能出现上述问题。

        解决方法:这里拿WinRAR为例: 运行Regedit打开注册表编辑器。依次展开到HKEY_CLASSES_ROOT\Applications\WinRAR.exe\shell\open\command分支,将command分支的默认数据值修改为当前版本的安装路径即可,如:"D:\Program Files\WinRAR\WinRAR.exe" "%1"


四、【始终使用选择的程序打开此类文件】选项变为灰色

        当我们设置某一种文件类型的打开方式的时候,有时会遇到无法设置默认打开方式的情况, 也就是说 【打开方式】对话框中的【始终使用该应用程序打开文件】复选框变为灰色,无法勾选或取消(通常这个现象只没有扩展名的文件才会有)。此时,我们只能修改下注册表才能彻底解决问题了。

        运行Regedit打开注册表编辑器。依次展开到HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ext分支(ext为出现问题的文件类型,请根据实际情况选择),删除它下面的UserChoice子项即可。 

http://wx4/large/d2d7099fly1fbms2kvalbj20az0cxmy3.jpg


阅读(646) 收藏(0) 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有