注册表

概述

参考:

注册表前身

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

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

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

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

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

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

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

而且,当年大家用的还都是机械硬盘。。。考虑到 ini 文件分散在系统的各种犄角旮旯,读取起来太麻烦,打开也嫌慢,更不方便维护。

微软后来就一寻思,干脆把这些乱的到处都是的 ini 文件功能给整合了起来。

通过一个统一的,系统级别的分层数据库来起到过去 “ 配置文件 ” 做的事情。这个库里面装的呢,就是咱们电脑里哪些花里胡哨,乱七八糟的配置。

举个例子,我们鼠标右键的每次点击,到底会弹出来哪些菜单选项,以及具体要弹的多长。都得让注册表来告诉它才行。

而且吧,比起过去各自为战,互相之间看不对眼的配置文件。注册表还能起到一个**系统级别的调度功能,**可以把这些软件之间的信息共享给其它软件,。

当有新的软件安装的时候,也会优先把自己能干什么,自己需要什么的消息给写入注册表里。

就像咱们现在能用 WPS 软件来打开 word 文档,中间还得靠注册表这个 “传话筒” 来沟通才行。想让系统能弄清楚,我们得把 “ wps 可以打开 word ” 文档这件事情,写到注册表里。

借助当时更为先进的数据库结构,注册表还能够实现**多用户配置和多线程读写等功能。**别看咱们现在嫌弃注册表长的丑,要知道当年,这可是少有的图形可视化界面。

注册表小解

按 win + R,在对话框里输入 regedit 来打开注册表编辑器。

  • HKEY_CLASSES_ROOT # 包含有关已注册应用程序的信息 , 包括驱动 , 文件拓展名等等 。
  • HKEY_CURRENT_USER # 存储特定于当前登录用户的设置 , 包括环境变量 , 个人桌面的设置等等 。
  • HKEY_LOCAL_MACHINE # 存储特定于本地计算机的设置 , 由系统内核维护在内存中 , 以便映射所有其他子键 。 这些信息可以其它用户使用 。
  • HKEY_USERS # 和上面的第二个项目相对 , 包含与机器上主动加载的每个用户配置文件的 HKEY_CURRENT_USER 键对应的子键
  • HKEY_CURRENT_CONFIG # 该主键保存了计算机当前硬件的配置信息 , 这些配置可以根据当前所连接的网络类型或硬件驱动软件安装的改变而改变 。

备份注册表

文件 - 导出

应用示例

在鼠标右键菜单上添加内容

打开注册表后,在表上的地址栏里输入这个:HKEY_CLASSES_ROOT\Directory\Background\shell

在 shell 中“添加项”,添加的项名就是右键菜单中的功能名

image.png

不过这回还没给它加上功能,直接点击的话会报错。

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

image.png

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


最后修改 May 13, 2024: tailscale, jq, clearup (4e49da16)