注册表的文件关联及应用

喜欢使用Windows右键快捷菜单的朋友可能知道,当你选择了一个文件(或者是文件夹或是系统图标)再单击鼠标右键,系统就会弹出一个菜单,菜单上面的各种功能(或称操作)任你选择,但是你是否注意到,当你安装一些应用软件之后,你的右键菜单是不是膨胀,以winzip为例,安装winzip之后,文件或文件夹的右键菜单当中就增加了功能选择项"Add to Zip""Add to xxx.zip",如图一,看到这个变化,我们不禁要问,这些选择项是怎么加入的,可不可以自己来添加。带着这些问题,我们再来看Windows的文件关联。

什么是文件关联呢?通俗地说,就是选择不同类型的文件时,在其右键菜单上显示的各功能项。每个功能项即对应一个关联。选择了某一功能(操作),系统就去执行相应的处理程序。至于对什么文件的什么操作对应什么样的处理程序,那都记录在系统注册表中。因此,要真正弄清文件关联,必须深入研究注册表。这个问题解决了,我们就可以利用注册表随心所欲地为文件建立,修改,删除关联。

  既然关联信息都写在注册表中,那么它在注册表中又是怎样构成的呢?我们不妨打开注册表,观察根键HKEY_CLASSES_ROOT之下的各个主键。(这样或许更易说明这一点)你是不是看到了很多前面有一个点(.),后面好象是文件扩展名的主键,如图二所示

.bat,.txt,.lnk,.bmp等。我们把这一类的主键称之为扩展名主键,每个扩展名主键都有一个默认键值。如:主键.bat的默认值为batfile; .lnk主键的默认值为lnkfile。举了这两个例子,你是否看出了其中的规律。即:若扩展名主键名为.xxx(xxx为某一类文件的扩展名),那么它的默认键值就为xxxfile。当然并不是所有的默认值都是这样,也可能多个主键对应同一默认值。比如:主键.jpeg和主键.jpg,它们的默认值jpgfile;.htmlhtm的默认值都为htmlfile。为什么要说这么多的扩展名主键的默认值呢?其中原因且听我慢慢道来。这个默认键值的作用就非同小可了,它可是文件关联的桥梁和纽带,是它将文件的类型(以扩展名来标识文件类型)与文件的关联联系起来。不信,你可以将某一扩展名主键的默认键值乱改一通,你就会发现,该类文件的许多关联项在右键菜单中消失了。既然这个重要的默认键值起了一个桥梁的作用,那么桥梁的另一端——文件的关联又是如何定义的呢?我们继续看注册表,让它来给我们解释。依然是在HKEY_CLASSES_ROOT根键之下。我们可以看到该根键之下有如下主键。如:batfile,txtfile,lnkfile 等。(如图三)看到没有

这些主键好象都是刚才我们所说的扩展名主键的默认值。不错,上述默认值在此处正好变成了主键名——这就是桥梁。我们把这一类的主键称为标识主键。一般而言,在标识主键之下有以下几个重要主键:(如图四) 

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:作用于系统不能识别的文件类型,即没有注册的文件类型。

  最基本的文件关联就谈到此处,下面来看看文件关联的应用。

  应用之一:让MSDOS方式无处不在。

  经常用到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"

  以上六例应用,总体上能够概述文件关联的基本结构和基本框架,弄清了文件关联的结构与框架,自己再增加关联就是小菜一碟了。只要你有兴趣,你可以将你的右键菜单加得满满的。如果你想了解更深一层次的文件关联,那就请你参阅有关windows注册表方面的书籍与资料,或与我联系,我的Emailamen.twty@china.net。在文章结束之前,还告诉大家一点小小的诀窍:那就是注册表在作过修改之后,很多场合需要重新启动才能生效。这里我告诉大家一个不需要重启但又能快速更改注册表的方法:选择开始\关闭系统,在弹出关闭系统框之后,按Ctrl+Alt+Del 组合键,出现结束任务框,选择其中的“Explorer”,再单击结束任务,等待一会儿(10秒左右),就会出现一个结束任务确认框,点击结束任务按钮即可。

 


 

 

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当您下载并尝试运行SQL Server 2022安装文件,但系统提示没有关联应用来执行该操作,这通常意味着Windows系统无法自动识别哪个应用程序应该处理这种类型的安装文件(通常是`.exe`或`.msi`文件)。这可能是由于以下几个原因: 1. 没有安装正确的安装程序打开器:Windows可能没有将`.msi`文件与SQL Server安装程序关联起来,特别是在默认情况下。 2. 注册表设置错误:确实,如您所说,可能是注册表中缺少相关的关联信息。Windows的注册表管理器负责存储这些应用程序与文件类型的关联关系。 3. 安装程序保护:有时,安装文件可能会被防病毒软件或系统防火墙阻止,这也会导致这样的提示。 解决这个问题的步骤如下: 1. **手动指定安装程序**: - 右键点击安装文件,选择“属性”。 - 在“打开方式”选项卡中,点击“选择其他应用程序”,浏览找到SQL Server安装程序(`sqlsetup.exe`或`Setup.exe`),然后选择它。 - 点击“始终使用此程序打开此类文件”保存关联。 2. **检查注册表**: - 通过搜索`regedit`打开注册表编辑器。 - 导航到`HKEY_CLASSES_ROOT\.msi`或`HKEY_CLASSES_ROOT\.exe`分支。 - 查找与`SQL Server Setup`或`SQL Server`相关的键,确认是否已设置正确的应用程序路径。 3. **更新或重新安装Microsoft SQL Server安装程序**: - 如果上述方法无效,可能是安装包本身有问题,你可以尝试从官方站点重新下载并安装。 4. **检查安全软件设置**: - 确保防病毒软件或防火墙没有阻止安装过程,按照它们的设置临时禁用或添加SQL Server安装程序为例外。 5. **系统还原或修复注册表**: - 如果以上都无法解决问题,考虑对计算机进行系统还原,或者使用专业工具恢复注册表,但这需要谨慎操作,以防进一步的系统混乱。 完成以上步骤后,通常可以解决文件没有关联应用的问题,让SQL Server 2022安装得以继续。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值