这篇文章不同于网上那些复制粘贴的答案,是本人切实解决了这个问题之后才整理发表的,希望能够帮助到更多深受此困扰的人!总而言之:亲测可用,请放心阅读!~
起因
众所周知,Win10总是会有一些莫名其妙的BUG。
因为工作上需要经常打开厂家自定义后缀的文件,如.hwt,但是每次设置完默认打开方式“Winrar”之后,第二次还是记录不下来,要重新选择,所以每次的操作流程都是"右键点选文件"-->"选择打开方式"-->"Winrar"。
可大家其实都是想双击文件直接打开啊!
按网上的常规教程去尝试
相信看到这篇文章的各位朋友 已经从网上找了很多资料,都是说进入“系统设置”,选择“应用”,更改“默认应用”,也可以按底下的“根据文件类型更改”按钮去改具体的".xxx"后缀的打开方式,可是实践过后却发现并没有什么卵用(笑哭)。
第一种情况是虽然我们点了用某一个应用去打开,但是点完之后,它没有反应,还是点之前没有选择的状态。
第二种情况更为尴尬,就是你本可以选的应用在这里根本不存在,也就是说没有“查看更多应用”这个选项,你只能选择“在Microsoft Stroe中”查找更多应用,坑爹呀(再次笑哭)。
常规的更改默认应用的路径 在“选择应用”列表选择WinRAR,但是并没有效果;并且无法选择更多应用。Win10很乱,一方面由于这是专门为二合一电脑准备的系统,至今仍然存在“系统设置”和“控制面板”两套不同UI设计、相同使用功能的系统设置体系;另一方面,win10想搞一个应用商店,所以在他的设置界面只能选择microsoft store的应用;而在桌面、资源管理器里,依然沿用着以前的纯PC时代的逻辑——可以通过选择本地文件路径,让用户自己选择用什么exe程序去执行。
最佳解决方案
所有的图形界面都是纸老虎,真正掌管系统资源的是数据本身。所以不管微软有没有提供正确修改默认应用的操作选项,我们都可以通过【注册表】解析到每一个系统操作的“数据联系”。
没错,我们不用管设置界面,直接改注册表就好啦。
通过在国外知名技术交流网站stackover上查阅资料[注1],你会发现,设置默认应用是在下面这个路径下。
第一步:打开注册表。Win+R(或打开“运行”),输入“regedit”,并按回车。
第二步:在HKEY_CLASSES_ROOT里找到你想要更改的文件格式类型,如我的.hwt:
左侧是路径,右侧是关联数据你会惊喜的发现,噢,原来打开.hwt文件的时候,注册表是关联到了“hwt_auto_file”数据上了,那这个玩意儿又是什么呢?
第三步:继续在HKEY_CLASSES_ROOT文件夹下查找,找到hwt_auto_file文件夹(小技巧:你可以直接在上面的资源路径输入框里输入,并按回车),并且打开shell\open\command。
路径示意图这个时候又有意外收获,噫?这个不是我以前装的HaoZip解压软件吗?因为弹窗太多被我卸载了,原来注册表里还有残留数据,怪不得总要我重设默认方式呢!Win10好坑(笑哭)
解读时间到:(如果不想看原理(脑壳儿疼),直接跳到第四步就好了哈~)
1.通过观察command文件夹里的项,可以发现【名称】里的(默认)字段,就是系统“默认”打开应用的定义处!
2.有DOS开发经验的朋友不难发现,【数据】这一列的语法,就是DOS指令,意思是打开本地某一路径下的exe程序,并且传入参数"%1",而这个参数,正是每次点击的那个“xxx.hwt”文件的绝对路径。
结论是,我们只需要改写这一项,将路径改为我们要运行的那个应用的本地路径,并且在后面也传参"%1"即可搞定!~
第四步:修改注册表。
4.1 右键点击“command”文件夹,选择导出。(原因是数据这一项无法直接修改,要先导出)
导出到桌面即可4.2 返回桌面,右键编辑刚才导出的注册表。
点击编辑,进入记事本4.3 把要默认打开的那个应用的本地路径替换到记事本里,由于转义字符的存在,文件中间要有两个反斜杠(\\)。
替换打开路径,别忘了保存哟4.4 双击改好的注册表,允许打开-->继续修改。
确认打开 自己写的注册表,当然没问题啦 成功提示!第五步:大功告成!可以看到注册表修改成功,激动人心的时刻到了,当你再次双击".xxx"格式的文件的时候,没有多余弹窗提示,一键到位,就是这么自然流畅!
回到注册表,发现已经修改成功结语
这个问题困扰我很久,正好今天周末,于是花了一个晚上+上午的时间把它彻底解决掉了,期间发现中文社区有关这个问题的有效解答几乎没有,于是想写篇文章分享给更多的朋友。
做人做事亦是如此,刨根问底,追本溯源,图个心里踏实!
原创不易,如果这篇文章真的有帮到您,欢迎点“喜欢”或者“打赏”,您的鼓励将支持我继续创作相关的技能分享,蟹蟹!~
当然,如果这篇文章有哪一步您有不明白的,也可以在下方留言,我会在我的能力范围内全力解答,再次感谢阅读到最后,我们下篇文章再见!~
网友评论