注册表前身

其实,注册表也不是一开始就存在于 Windows 上。

在 Windows 95 之前,微软通过一种叫 “ 配置文件 ” 的东西,来实现如今注册表的作用。

这里面存储的,就是一些软件的基本信息。比如说配置一些文件的打开路径在哪里,或者是软件要用哪些字体来读取。

通常通过 ini 格式的文件,配置文件会趁着咱们安装各种软件的时候,把自己丢在系统的各种文件夹里。想修改一些配置的时候,咱们可以直接去这个软件的安装目录里找 ini 文件就行。

看上去挺方便,不过这 ini 文件最大的问题吧,就是太容易修改了,甚至可以简单到直接用记事本给打开。

到时候手一抖改几个字,可能一个软件就打不开了。

比如把一个 5 行的行间距手一抖改成复数,软件当场就寻思我哪见过这个?不当场宕机就不错了。万一改的还是系统配置文件,电脑指不定也得抽两抽。

而且,当年大家用的还都是机械硬盘。。。考虑到 ini 文件分散在系统的各种犄角旮旯,读取起来太麻烦,打开也嫌慢,更不方便维护。 微软后来就一寻思,干脆把这些乱的到处都是的 ini 文件功能给整合了起来。通过一个统一的,系统级别的分层数据库来起到过去 “ 配置文件 ” 做的事情。这个库里面装的呢,就是咱们电脑里哪些花里胡哨,乱七八糟的配置。 举个例子,我们鼠标右键的每次点击,到底会弹出来哪些菜单选项,以及具体要弹的多长。都得让注册表来告诉它才行。 而且吧,比起过去各自为战,互相之间看不对眼的配置文件。注册表还能起到一个系统级别的调度功能,可以把这些软件之间的信息共享给其它软件,。 当有新的软件安装的时候,也会优先把自己能干什么,自己需要什么的消息给写入注册表里。 就像咱们现在能用 WPS 软件来打开 word文档,中间还得靠注册表这个 “传话筒” 来沟通才行。想让系统能弄清楚,我们得把 “ wps 可以打开 word ” 文档这件事情,写到注册表里。 借助当时更为先进的数据库结构,注册表还能够实现多用户配置和多线程读写等功能。别看咱们现在嫌弃注册表长的丑,要知道当年,这可是少有的图形可视化界面。 ## 注册表小解 按 win + R,在对话框里输入 “ regedit ” 来打开注册表编辑器。 注册表 - 图1 注册表 - 图2 ### 备份注册表 注册表 - 图3 ## 应用示例 ### 在鼠标右键菜单上添加内容 打开注册表后,在表上的地址栏里输入这个:HKEY_CLASSES_ROOT\Directory\Background\shell 在 shell 中“添加项”,添加的项名就是右键菜单中的功能名 注册表 - 图4 不过这回还没给它加上功能,直接点击的话会报错。

注册表 - 图5

在 “lichenhao”项下添加 “command”项;修改 command 项中的默认值为想要运行进程的绝对路径

注册表 - 图6

此时右键的 “lichenhao”就可以运行 Python 了。