夜月琉璃Lv46
如何接管系统未知文件后缀的打开选择
最近闲来无事,看着手头边自己写的程序,突然来了灵感,想起装了360以后,针对于未知的文件后缀,双击运行总能弹出360自己的窗口(如图),遂研究其如何实现,经过查找多方资料,总算 弄明白了到底怎么去实现的
修改前
其实Windows对于未知文件后缀的处理程序都在注册表中的Hkey_Classes_Root\Unknown子项下,也就是说如果我们想要修改Windows系统在我们双击未知文件后缀名的时候打开的程序,只需要修改注册表中的上述子项下的内容即可实现。
修改完成后
==============================================================================
以下是关于修改的相关说明:
1.不管是哪个版本的Windows系统,针对于未知文件后缀的打开方式均在Hkey_Classes_Root\Unknown下
2.Win7及之前系统,只需要修改Hkey_Classes_Root\Unknown\shell\opendlg\command子项中的默认那一条即可
3.Win8及之后的系统则有所不同,首先我们在Hkey_Classes_Root\Unknown\shell\可以看到已经没有opendlg这个子项了,那么我们要怎么去修改呢,其实很简单,只要按照下述步骤,即可成功
1).在shell子项下,我们首先新建一个子项,名称可以自定义,然后在新建的子项下再建立一个command的子项,然后修改右侧的(默认)为我们自己的程序路径
(请注意,如果通过编程来创建,则创建后默认的类型必须为REG_EXPAND_SZ,否则无法生效;如果是手工创建,则可以通过导出例如openas子项下的command,然后修改子项名称来实现 )
完成后如上图
2).修改shell子项中的(默认)为你当前所创建的子项名称
修改前
修改后
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 已被阅读了1980次 楼主 2022-09-09 10:28:41