【注册表】1:深入认识注册表--注册表五大预定义项
【注册表】1:深入认识注册表--注册表五大预定义项
- HKEY_CLASSES_ROOT
- HKEY_USERS
- HKEY_LOCAL_MACHINE
- HKEY_CLASSES_ROOT
- HKEY_CURRENT_CONFIG
文章目录
目录
前言
注册表是Windows操作系统的重要概念,对注册表的操作直接涉及系统的核心配置,具有牵一发而动全身的作用。
以下是个人学习笔记,如有错误之处,还望大佬们指出哟~
一、如何打开“注册表编辑器”
Win+R键打开“运行”界面,输入“regedit”即可打开“注册表编辑器”
二、注册表五大预定义项
1.HKEY_CLASSES_ROOT
包含当前登录用户的配置信息。用户的文件夹、屏幕颜色和“控制面板”设置都存储在这里。
- AppEvent:定义了系统指定事件的名称以及发生事件时系统的声音提示。其中的两个子项:
A: Apps子项定义了系统附带声音方案的具体设置。
B: Names子项定义了系统附带和童虎定义的声音方案。
- Console:定义了“命令提示符”窗口的一些特性。
- Control Panel:配置的内容很多,用户在“控制面板”中进行的大部分设置,都保存在此项中,包括辅助功能选项、显示器、鼠标、屏幕保护等信息。
- Environment:定义了系统以及其他登录用户的临时文件的存放目录。
- EUDC:保存的是当前用户的字库。用户造字程序所造字的位置信息保存在这个想子项的值项中。
- Identities:保存了用户专用的某些软件的配置信息。在一个典型系统中,该项包含Outlook Express的配置信息。
(如果只有一个用户使用Outlook Express,默认情况下,只有一个“主标识”;如果新建了另外的标识,则该项会包含两个子项;下面那个子项中包含了账户等各种信息。)
- Keyboard Layout:保存系统的键盘布局信息。
- Printers:列出了有关打印机的设置信息。
- SessionInformation:在这个下面有一个“ProgramCount”值项,可以设置当前用户的运行程序数。
- Software:包含系统、系统附带的应用软件以及已经在系统中安装的其他软件信息,是应用最多的项之一。
- UNICODE Program Groups:仅当使用ProgramManager时,UNICODE Program Groups项才有效。Explorer不使用它们。
- Volatile Environment:包含当前用户的可变环境变量。
- Windows 3.1 Migration Status:包含从Windows NT 3.x升迁至Windows NT的信息。
2.HKEY_USERS
包含计算机上的所有以活动方式加载的用户配置文件。
HKEY_CURRENT_USERS是它的子项。
HKEY_USERS有时会缩写成HKU。
- .DEFAULT:该项的配置是针对未来将被创建的新用户的。新用户根据默认用户的配置信息来生成自己的配置文件,该配置包括环境、屏幕、声音等多种信息。
- S-1-5-18:该项下面有很多类似的项,这些项叫“安全标识符”(SID)。它是长度可变的唯一值,用来标识Windows操作系统中的安全主体或安全组。
在“SID”项下面的子项与“.DEFAULT”项下面的子项基本相同,只是对于的用户账户不同。其中:
- S-1-5-18:对应Local System(操作系统使用的服务账户)。
- S-1-5-19:对应Interactive(交互)用户组。该用户组包含当前登录到计算机上的用户。在升级到Windows 2000或Windows XP Professional时,可以将Interactive组的成员添加到Power Users组,以便使旧版应用程序可继续保持升级前的功能。
- S-1-5-20:对应网络服务(Network和Network Service)组。其中Network Service账户时特别设计的,专用于为引用程序提供访问网络的足够权限。
- S-1-5-21-xxxxxxxx:对应当前用户。
3.HKEY_LOCAL_MACHINE
包含特定于计算机的配置信息(用于任何用户)。此项有时缩写“HKLM”。
- HARDWARE:其中包含了计算机硬件信息的子项。在启动系统时,该项都会被重新创建,这样就很容易向系统中添加硬件了。该项是系统根据硬件信息在启动时自己填写的,而不是根据数据去启动硬件,所以用户对该项的修改不会生效。在该项下面的四个项中含有CPU、FPU、系统总线、机遇PCI总线的设备、即插即用总线、高级控制电源接口、键盘、打印机端口、鼠标、屏幕等信息,有些信息要在BIOS才能看见(比如高级控制电源接口)。
- SAM:有关安全账户管理器的项,其中存储着用户信息和域信息。不管是哪种注册表,SAM中的信息都是不可访问的,只能由administrator通过用户管理器进行管理。
- SECURITY:这里的信息与本地安全性和用户权限有关,其中含有SAM的备份。该项也是用户不可访问的。只能由administrator通过管理工具修改。
- SOFTWARE:包含已经安装的系统软件和用户软件信息。也是注册表案列中最常用到的项。
- SYSTEM:其中含有与系统启动、设备驱动程序、服务和Windows XP配置有关的信息。
4.HKEY_CLASSES_ROOT
HKEY_CLASSES_ROOT预定义项包含了启动应用程序所需的全部信息,其中包括:
- 所有扩展名以及应用程序和文档之间的关联信息
- 所有驱动程序的名称
- 当做指针的字符串,指向它们代表的实际文件
- 类标识CLSID,这在访问子项信息时非常有用,因为在Windows中访问子项信息时都是用CLSID来代替的
HKEY_CLASSES_ROOT是HKEY_LOCAL_MACHINE\Software的子项。存储在这里的信息可确保使用Windows资源管理器打开文件时能打开正确的程序。
从Windows 2000开始,这些信息同时存储在HKEY_LOCAL_MACHINE和HKEY_CURRENT_USER项下。
HKEY_LOCAL_MACHINE\Software\Classes项包含可应用于本地计算机上的所有用户的默认设置。
HKEY_CURRENT_USER\Software\Classes包含覆盖默认设置并且只应用于交互用户的设置。
HKEY_CLASSES_ROOT项提供合并上述两个来源的信息的注册表视图。
- *项:这个项很特殊,*表示它应用于所有文件的类定义。打开*想,可以发现它的结构和“类定义项”的结构完全一样,用户可以按照在“类定义项”中的方法在*项下面添加用于所有文件的关联程序。
- 扩展名项(如.bat等):这是最主要也是最多的项,里面放的就是形如.bat、.avi、.bmp、.mp3等的扩展名项,以及形如batfile、exefile、comfile等类定义项等。这两种项相互配合,完成对系统中所有文件扩展名的识别以及对该扩展名文件的类型的定义。
例如.bat,该项的“默认”值项的作用是指向一个“类定义项”,起入口作用,以便在“类定义项”中对扩展名类型的文件进行定义。
.bat的“默认”值为“Batfile”,那么它指向的“类定义子项”就是“Batfile”。
多个扩展名项的默认值可以指向一个“类定义项”。
- 类定义项(如batfile等):类定义项的名称必须和相应“扩展名项”的默认值定义的相同。(比如(2)中的.bat,它的“默认”值项必须和这里的类定义项的名称一样,否则它们将失去“联系”,也就无法完成对文件关联定义了)。
类定义项的“默认”值项的值是对文件类型的描述信息,即观察文件属性时,在“文件类型”中所看见的描述;
如果“默认”值项的值缺省,系统将以【扩展名+“文件”】的形式来描述次文件类型,比如:Bat文件。
提示:虽然默认值可缺省,但最好为其赋值,否则系统不会把此类型文件当做一个完成的注册文件。
a: DefaultIcon子项:该项的“默认”值项的值用来指定图标文件的路径和文件名。如果指定的图标文件中有多个图标,要注意一下书写格式。
b: Open子项:该项可以任意取名,它们必须位于shell子项下,并可有多个这样的子项,分别记录与多个程序的关联信息。
c: Shellex子项:包扣PifProps等高级外壳扩展属性的设置信息,此子项下定义的CLSID映射均在HKEY_CLASSES_ROOT的CLSID中。
- CLSID(类标识符)项:CLSID总是分配给应用程序或部件的。应用程序、空间、Windows的部件、软件和部件、工具、编译器等几乎所有的项目都有一个或多个CLSID。CLSID主要用于OLE,它是某个部件和操作系统之间的链接。CLSID被用作链接应用、文件类型、嵌入、OLE、对象和操作系统之间的桥梁。
- Directory、Drive、Folder项:文件夹其实是一种特殊的文件对象,也需要关联程序才能对其操作。
a. Directory:仅作用于一般文件夹
b. Drive:仅用于驱动器
c. Folder:作用于所有文件夹(包括上面两种和“回收站”、“控制面板”这样的特殊文件夹)
这三项的结构与“类定义项”相同,用户可以为它们设置不同的关联程序,还可以通过各项下的“DefaultIcon”子项的默认值设置各种文件夹的默认图标。
5.HKEY_CURRENT_CONFIG
包含有关本地计算机在系统启动时使用的硬件配置文件的信息。
HKEY_CURRENT_CONFIG是HKEY_LOCAL_MACHINE中内容的映射。如果系统中只有一个硬件配置,则其中的数据是和HKEY_LOCAL_MACHINE中一样的。如果向系统中新建了一个硬件配置(“控制面板”→“系统”→“硬件配置文件”),就会在HKEY_LOCAL_MACHINE中反映出来,在启动时虎选择一种配置文件映射到HKEY_CURRENT_CONFIG中。
总结
关于【注册表五大预定义项】的学习笔记,2020/10/19。