注册表的文件类型关联[转]

原文地址:http://hi.baidu.com/tanry/blog/item/31c9b93833eb87c1d46225c2.html

什么是文件关联呢?通俗地说,就是选择不同类型的文件时,在其右键菜单上显示的各功能项。每个功能项即对应一个关联。选择了某一功能(操作),系统就去执行相应的处理程序。至于对什么文件的什么操作对应什么样的处理程序,那都记录在系统注册表中。因此,要真正弄清文件关联,必须深入研究注册表。这个问题解决了,我们就可以利用注册表随心所欲地为文件建立,修改,删除关联。
既然关联信息都写在注册表中,那么它在注册表中又是怎样构成的呢?我们不妨打开注册表,观察根键HKEY_CLASSES_ROOT之下的各个主键。(这样或许更易说明这一点)你是不是看到了很多前面有一个点(.),后面好象是文件扩展名的主键,如图二所示

DefaultIcon主键,它的功能是定义该类文件的默认图标。
Shell主键,它的功能是本文讨论的中心——文件关联之“命根”所在。文件的各种关联都寄生在此“根”之下,正是它定义了该类文件与多个程序相关联。它的默认值也很有用,你是否还记得双击文件可以将文件打开(对于已注册的文件),这种打开就是利用了系统注册表所设定的默认打开方式,即由shell主键的默认键值来控制。它之下的每个主键,都可称作是“关联主键”(如图四)。“关联主键”的键名是任意的(建议用英文),它的默认键值也是我们感兴趣的。因为这一默认键值会直接显示在右键菜单中,并且每个“关联主键”之下都有一个command主键,这个主键定义的就是“该关联对应的执行程序”。如图五所示,到此文件关联已昭然若揭。

下面我们就以.reg文件(注册表的脚本文件)为例来说明其关联过程。
首先.reg文件在HKEY_CLASSES_ROOT根键之下有一个“扩展名主键”。.reg其默认值为regfile,说明reg类型文件关联的主键是regfile。再在该根键之下找“标识主键”regfile,regfile主键之下有一个DfaultIcon主键,作用是定义reg文件的默认图标。其默认键就是图标的全路径文件名。如: C://windows//regedit.exe,1(表示的是regedit.exe中的第2个图标)。regfile主键之下还有一个上文称之为“命根”的主键shell,reg文件的关联就记录在shell之中。下面我们就为regt建立一个关联。步骤为:在shell主键之下,新建主键xxf(名任意),置其默认值为:“徐喜峰的文本编辑器”,再在xxf主键之下新建主键command,置其默认值为C://Windows//Notepad.exe %1,该默认值的意义为:用记事本来打开当前reg文件。若没有%1参数,则只运行记事本程序,而不打开当前文件。设置完毕,你再看看reg文件的“右键菜单”,是不是多了一个“徐喜峰的文本编辑器”选项(如图六)

以上所说的只是作用于普通文件的关联,然而在Windows中,除了文件,还有文件夹及特殊的文档(如我的电脑,驱动器,回收站等)。那么这些又该如何设置关联呢?那就请大家记住在HKEY_CLASSES_ROOT根键之下还有以下几个重要的系统关联主键:
*:作用于所有文件,它与“标识主键”的关联方法一样。
Directory:作用于一般文件夹。
Folder:作用于所有文件夹,包括特殊文件,如:控制面板,回收站等。
Drive:作用于驱动器,如A驱,B驱,C驱。
Unknow:作用于系统不能识别的文件类型,即没有注册的文件类型。
最基本的文件关联就谈到此处,下面来看看文件关联的应用。
应用之一:让MS-DOS方式无处不在。
经常用到DOS方式的朋友可能有些厌烦,因为每次进入DOS方式,都要选择“开始//程序//MS-DOS方式”。利用文件关联,我们可以将MS-DOS方式添加到任何文件的“右键菜单”中,这样就省事多了,方法为:
将注册表展开到HKEY_CLASSES_ROOT//*//shell分支。(在所有文件的“右键菜单”中添加MS-DOS方式)新建主键“MS-DOS",置其默认值为“进入MS-DOS方式”,在MS-DOS主键之下新建command主键,置其默认值为:“C://Windows//command.com”。
另注册表展开到HKEY_CLASSES_ROOT//Folder//shell分支,(在所有文件夹的“右键菜单”中添加MS-DOS方式)设置同上。
应用之二:隐去快捷方式图标中的小箭头。
如果你觉得快捷方式图标中的小箭头有点障眼,那么利用关联,可以将之去掉,将注册表展开到HKEY_CLASSES_ROOT//lnkfile分支,将lnkfile主键之下的键值Isshortcut删除,再将注册表展开到HKEY_CLASSES_ROOT//piffile分支,将piffile主键之下的键值Isshortcut删除,即大功告成。
应用之三:用记事本来编辑bat文件。
有时想编辑bat文件,而习惯性地双击它,这一双击,并没有将它打开编辑,而是将它执行,让人甚为恼火。利用注册表的文件关联,可以将之改变。将注册表展开到HKEY_CLASSES_ROOT//batfile//shell分支,将shell主键的默认值由open改为edit即可。
应用之四:更改某类文件的默认图标。
以txt文件为例,将txt文件的图标改为“我的电脑”的图标。将注册表展开到HKEY_CLASSES_ROOT//txtfile//DefaultIcon分支,将主键DefautIcon的默认键值改为:"C://Windows//explorer.exe,0" 即可。
应用之五:为所有文件增加“打开方式”。
将注册表展开到HKEY_CLASSES_ROOT//*//shell分支,新建主键open_as,置其默认值为“选择打开方式”,在Open_As主键之下新建主键command,置其默认值为:"C:Windows//rundll32.exe shell32.dll , openAs_RunDll %1"
应用之六:将“关机”加入到右键菜单。
将注册表展开到HEKY_CLASSES_ROOT//Directory//shell分支,新建主键close,置其默认值为“关闭系统”,再在close主键之下,新建主键command,置其默认值为:"C://Windows//rundll32.exe user.exe, exitwindows"
以上六例应用,总体上能够概述文件关联的基本结构和基本框架,弄清了文件关联的结构与框架,自己再增加关联就是小菜一碟了。在文章结束之前,还告诉大家一点小小的诀窍:那就是注册表在作过修改之后,很多场合需要重新启动才能生效。这里我告诉大家一个不需要重启但又能快速更改注册表的方法:选择“开始//关闭系统”,在弹出“关闭系统”框之后,按Ctrl+Alt+Del 组合键,出现“结束任务”框,选择其中的“Explorer”,再单击“结束任务”,等待一会儿(10秒左右),就会出现一个“结束任务”确认框,点击“结束任务”按钮即可。

1. 修改普通文件类型的图标
Windows中每种文件类型都有自己的图标。我们可以将某种文件类型的图标修改为自己喜欢的图标,具体步骤如下:
1) 从Windows目录下删除ShellIconCache文件。此文件为图标文件缓冲,它的存在可使系统不必在文件的初始位置加载图标,而只需从此图标缓存中加载,从而加快了桌面和资源管理器中显示图标的速度。
2) 在HKEY_CLASSES_ROOT/.ext(ext为欲修改的文件的扩展名)中查找与.ext文件相关的程序数据名(如与.bat文件相关的程序数据名为“batfile”)。
3) 打开HKEY_CLASSES_ROOT/batfile/DefaultIcon(“batfile”为上一步找出的程序数据名)。
4) 将DefaultIcon的缺省数据修改为你喜欢的图标所在的位置。
2. 修改系统文件夹的图标
修改系统文件夹的图标与修改普通文件类型的图标基本类似,步骤如下:
1) 从Windows目录下删除ShellIconCache文件。
2) 定位HKEY_CLASSES_ROOT/CLSID/class/DefaultIcon的位置,其中class为你想要修改的系统文件夹的标示符。
3) 将DefaultIcon的缺省数据修改为你喜欢的图标所在的位置。
4) 刷新桌面和资源管理器,即可看到所做的修改。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值