Windows文件关联的实现原理_绿色软件之家

绿色软件之家:您身边最放心的安全下载站! 最新更新|软件分类|软件专题|手机版|系统之家|纯净系统

您当前所在位置:首页操作系统windows → Windows文件关联的实现原理

Windows文件关联的实现原理

时间:2015/6/28来源:绿色软件之家作者:网管联盟我要评论(0)

  Windows中的文件双击的时候,如果有程序关联了该文件的扩展名,那么就会用关联的程序打开该文件。那么它内部是怎么实现的呢?今天我给大家简单讲一下。

  一切都在注册表

  所有注册了的扩展名都在Windows的注册表中,它的键值位于:

  HKEY_CLASSES_ROOT

  如下图,可以看到有很多的注册表键值:

image

  我们看一下.txt的键值:

image

  比较奇怪的是这里没有发现有哪个键值写了用什么程序来打开它。

  奥秘就在于.txt的默认值,请看一下.txt的默认值:

image

  .txt 的默认值是:

  txtfile

  那这个txtfile是什么东西呢?其实txtfile也是一个位于HKEY_CLASSES_ROOT下的键值,它的路径是:

  HKEY_CLASSES_ROOT\txtfile

  那就看下txtfile是什么东西:

image

  看上图,大家注意到了没有,这里有一个shell\open\command的子条目,再打开这个条目看看:

image

  看到了没,notepad.exe就是"记事本",后面的%1 一般用来传递被打开的文件路径。

  我找到这里,就猜想,这个就是默认的打开程序。

  实践验证

  上面是猜想,还需要验证一下。

  我新建了一个.test的扩展名,把该类型注册为testfile。

image

  再新建一个testfile条目:

image

  测试一下:

image

  总结

关联扩展名

  首先,Windows在注册表中查找对应的扩展名有无注册,有注册就读取该扩展名对应的文件类型,找到文件类型再从中读取关联的程序,从而调用该程序来打开。

关键词标签:Windows,文件关联

相关阅读

文章评论
发表评论

热门文章 windows7虚拟光驱安装和使用方法windows7虚拟光驱安装和使用方法解决应用程序正常初始化(0xc0000135)失败解决应用程序正常初始化(0xc0000135)失败hosts文件位置以及如何修改hosts文件hosts文件位置以及如何修改hosts文件[声音故障]XP没有声音,丢失Windows Audi[声音故障]XP没有声音,丢失Windows Audi

相关下载

人气排行 [声音故障]XP没有声音,丢失Windows Audio服务(AudioSrv)[警解决Windows 7黑屏的有效方法windows2003中关于软路由设置方法的具体介绍Windows不能在本地计算机启动OracleDBConsoleorcl一个空文件夹删不掉的解决办法Windows 7加XP的局域网搭建与文件共享用Windows命令行实现自动SSH代理Windows提示错误应用程序update.exe