青春时代是一个短暂的美梦,当你醒来时,它早已消失得无影无踪了。
 
夜月琉璃Lv46   
如何接管系统未知文件后缀的打开选择     
最近闲来无事,看着手头边自己写的程序,突然来了灵感,想起装了360以后,针对于未知的文件后缀,双击运行总能弹出360自己的窗口(如图),遂研究其如何实现,经过查找多方资料,总算 弄明白了到底怎么去实现的


Image

修改前


其实Windows对于未知文件后缀的处理程序都在注册表中的Hkey_Classes_Root\Unknown子项下,也就是说如果我们想要修改Windows系统在我们双击未知文件后缀名的时候打开的程序,只需要修改注册表中的上述子项下的内容即可实现。


Image

修改完成后


==============================================================================

以下是关于修改的相关说明:


1.不管是哪个版本的Windows系统,针对于未知文件后缀的打开方式均在Hkey_Classes_Root\Unknown下


2.Win7及之前系统,只需要修改Hkey_Classes_Root\Unknown\shell\opendlg\command子项中的默认那一条即可


Image


3.Win8及之后的系统则有所不同,首先我们在Hkey_Classes_Root\Unknown\shell\可以看到已经没有opendlg这个子项了,那么我们要怎么去修改呢,其实很简单,只要按照下述步骤,即可成功


1).在shell子项下,我们首先新建一个子项,名称可以自定义,然后在新建的子项下再建立一个command的子项,然后修改右侧的(默认)为我们自己的程序路径

(请注意,如果通过编程来创建,则创建后默认的类型必须为REG_EXPAND_SZ,否则无法生效;如果是手工创建,则可以通过导出例如openas子项下的command,然后修改子项名称来实现 )


Image

完成后如上图


2).修改shell子项中的(默认)为你当前所创建的子项名称

Image

修改前


Image

修改后


3).现在再双击那些未知后缀的文件,看下是不是就能打开你自己的程序了


4.各个系统原始的参数信息


Win7及之前系统:%SystemRoot%\system32\rundll32.exe %SystemRoot%\system32\shell32.dll,OpenAs_RunDLL %1

Win8及之后系统:%SystemRoot%\system32\OpenWith.exe -override "%1"

如果使用上述方法修改
Win7只需要将上述内容替换回去即可
Win8及之后系统则一般不需要替换上述内容,只需要将Hkey_Classes_Root\Unknown\shell子项中的(默认)值修改回openas即可

 0  已被阅读了1613次  楼主 2022-09-09 10:28:41
回复列表

回复:如何接管系统未知文件后缀的打开选择

桂公网安备 45010302000666号 桂ICP备14001770-3号
感谢景安网络提供数据空间
本站CDN由七牛云提供支持
网站已接入ipv6
免责声明: 本网不承担任何由内容提供商提供的信息所引起的争议和法律责任。
如果某些内容侵犯了您的权益,请通过右侧按钮与我们联系
Your IP: 18.222.125.171 , 2024-05-10 02:44:54 , Processed in 0.12597 second(s).
Powered by HadSky 8.3.7
知道创宇云安全