zoukankan      html  css  js  c++  java
  • 注册表

    https://zh.wikipedia.org/wiki/注册表

    https://support.microsoft.com/zh-cn/help/141377/differences-between-regedit-exe-and-regedt32-exe

    数据结构

    注册表由键(key,或称“项”)、子键(subkey,子项)和值项(value)构成。一个键就是树状数据结构中的一个节点,而子键就是这个节点的子节点,子键也是键。一个值项则是一个键的一条属性,由名称(name)、数据类型(datatype)以及数据(data)组成。一个键可以有一个或多个值,每个值的名称各不相同,如果一个值的名称为空,则该值为该键的默认值。

    在注册表编辑器(Regedit.exe)中,数据结构显示如下,其中,command键是open键的子键,(默认)表示该值是默认值,值名称为空,其数据类型为REG_SZ,数据值为%systemroot%system32NOTEPAD.EXE "%1

    以上信息的意义是:txt类型的文件在右键菜单里的“打开”一项使用的程序是“NOTEPAD.EXE”,即用记事本打开文件。

    数据类型

    注册表的数据类型主要有以下五种:

    显示类型(在编辑器中)数据类型说明
    REG_SZ 字符串 文本字符串
    REG_BINARY 二进制数 不定长度的二进制值,以十六进制显示
    REG_DWORD 双字 一个 32 位的二进制值,显示为 8 位的十六进制值
    REG_MULTI_SZ 多字符串 含有多个文本值的字符串,此名来源于字符串间用 nul 分隔、结尾两个 nul
    REG_EXPAND_SZ 可扩展字符串 含有环境变量的字符串

    此外,注册表还有其他的数据类型,但是均不常用:

    • REG_DWORD_BIG_ENDIAN - DWORD 的大头版本,下面同理
    • REG_DWORD_LITTLE_ENDIAN
    • REG_FULL_RESOURCE_DESCRIPTOR
    • REG_QWORD - DWORD 的四字(64 位)版本
    • REG_FILE_NAME

    注册表的分支结构

    注册表有五个一级分支,下面是这五个分支的名称及作用:

    名称作用
    HKEY_CLASSES_ROOT 存储Windows可识别的文件类型的详细列表,以及相关联的程序。
    HKEY_CURRENT_USER 存储当前用户设置的信息。
    HKEY_LOCAL_MACHINE 包括安装在计算机上的硬件和软件的信息。
    HKEY_USERS 包含使用计算机的用户的信息。
    HKEY_CURRENT_CONFIG 这个分支包含计算机当前的硬件配置信息。

    注册表的存储方式[编辑]

    注册表的存储位置随着Windows的版本变化而不同。尤其是Windows NT系列操作系统和Windows 95系列的存储方式有很大区别。注册表被分成多个文件存储,称为Registry Hives,每一个文件被称为一个配置单元。

    在早期的Windows 3.x系列中,注册表仅包含一个reg.dat文件,所存放的内容后来演变为HKEY_CLASSES_ROOT分支。

    Windows NT家族的配置单元文件:

    名称注册表分支作用
    SYSTEM HKEY_LOCAL_MACHINESYSTEM 存储计算机硬件和系统的信息
    NTUSER.DAT HKEY_CURRENT_USER 存储用户参数选择的信息(此文件放置于用户个人目录,和其他注册表文件是分开的)
    SAM HKEY_LOCAL_MACHINESAM 用户及密码的数据库
    SECURITY HKEY_LOCAL_MACHINESECURITY 安全性设置信息
    SOFTWARE HKEY_LOCAL_MACHINESOFTWARE 安装的软件信息
    DEFAULT HKEY_USERSDEFAULT 缺省启动用户的信息
    USERDIFF HKEY_USERS 管理员对用户强行进行的设置
    • 假设Windows安装于C盘,则在Windows XP以前,文件存放于C:WINNTSYSTEM32CONFIG,而XP及以后则存放于C:WINDOWSSYSTEM32CONFIG

    Windos95家族的配置文件

    名称注册表分支作用
    CLASSES HKEY_CLASSES_ROOT 存储软件组件库有关信息
    USER.DAT HKEY_USERS 存储用户参数选择的信息
    SYSTEM.DAT HKEY_LOCAL_MACHINE 系统信息

    Regedit.exe 和 Regedt32.exe 的区别


    概要


    基于 Windows NT 的操作系统包含两个用于编辑注册表的实用工具:Regedit.exe 和 Regedt32.exe。本文描述在各种基于 Windows NT 的操作系统中这两个实用工具之间的区别。

    更多信息


    Windows NT 3.x

    Regedit.exe

    Regedit.exe 是 16 位 Windows 操作系统的注册编辑器。它用于修改 Windows 的注册数据库。此数据库位于 Windows 目录下,名称是 Reg.dat。数据库中包含有关 16 位应用程序的信息,文件管理器用它来打开和打印文件。支持对象链接和嵌入 (OLE) 的应用程序也使用此数据库。Windows on Windows (WOW) 和 16 位 Windows 应用程序使用并维护 Reg.dat。WOW 层位于虚拟 DOS 机器 (VDM) 层之上。

    Regedit.exe 是 16 位应用程序,Windows NT 中包含它是为了与早先的 16 位应用程序兼容。Regedit 提供了在 Windows NT 下查看 Reg.dat 的方法。您可以在 Windows NT 初始安装完成后的首次登录时将 Reg.dat 数据库文件迁移到 Windows NT 注册表。

    Regedt32.exe

    Regedt32.exe 是 Windows NT 的配置编辑器。它用于修改 Windows NT 配置数据库或 Windows NT 注册表。此编辑器允许您查看或修改 Windows NT 注册表。它提供了表示注册表各个部分(称为配置单元)的窗口视图。每个窗口显示两部分。左侧是表示注册表项的文件夹。右侧是与所选注册表项关联的值。Regedt32 是一个功能强大的工具。使用它修改注册表值时必须格外小心。注册表中的值丢失或不正确可能导致已安装的 Windows NT 系统无法使用。

    Windows NT 4.0 和 Windows 2000

    Regedit.exe

    Windows NT 4.0 和 Windows 2000 中包含 Regedit.exe 主要是为了使用它的搜索功能。您可以使用 Regedit.exe 更改 Windows NT 4.0 和 Windows 2000 注册表,但并非 Windows NT 4.0 和 Windows 2000 中的所有功能或数据类型都能用它来查看或编辑。

    Windows NT 4.0 和 Windows 2000 中包含的 Regedit.exe 版本存在以下局限:
    • 无法为注册表项设置安全性。
    • 无法查看、编辑或搜索 REG_EXPAND_SZ 和 REG_MULTI_SZ 这两种值数据类型。如果试图查看 REG_EXPAND_SZ 值,Regedit.exe 会将其显示为二进制数据类型。如果试图编辑上述任一数据类型,Regedit.exe 会将其保存为 REG_SZ,而且该数据类型将无法执行预期的功能。
    • 您无法将注册表项保存为或还原为配置单元文件。
    Microsoft 建议,如果需要在基于 Windows NT 4.0 或 Windows 2000 的计算机上使用 Regedit.exe,则只使用它的搜索功能。

    Regedt32.exe

    Regedt32.exe 是 Windows NT 4.0 和 Windows 2000 的配置编辑器,用于修改 Windows NT 配置数据库或 Windows NT 注册表。此编辑器允许您查看或修改 Windows NT 注册表。它提供了表示注册表各个部分(称为配置单元)的窗口视图。每个窗口显示两部分。左侧是表示注册表项的文件夹。右侧是与所选注册表项关联的值。Regedt32 是一个功能强大的工具,使用它修改注册表值时必须格外小心。注册表中的值丢失或不正确可能导致已经安装的 Windows 系统无法使用。

    注意:与 Regedit.exe 不同,Regedt32.exe 不支持注册项文件 (.reg) 的导入和导出。

    Windows XP 和 Windows Server 2003

    Regedit.exe

    Regedit.exe 是 Windows XP 和 Windows Server 2003 的配置编辑器,用于修改 Windows NT 配置数据库或 Windows NT 注册表。您可以使用此编辑器查看或修改 Windows NT 注册表。它支持以下功能:在注册表项上设置安全性;查看和编辑 REG_EXPAND_SZ 与 REG_MULTI_SZ;保存和还原配置单元文件。左侧是表示注册表项的文件夹。右侧是与所选注册表项关联的值。Regedit 是一个功能强大的工具。使用它修改注册表值时必须格外小心。注册表中的值丢失或不正确可能导致已经安装的 Windows 系统无法使用。

    Regedt32.exe

    在 Windows XP 和 Windows Server 2003 中,Regedt32.exe 只是一个用来运行 Regedit.exe 的小程序。
     
     
  • 相关阅读:
    Cmake Make makefile GNU autotools
    第三方库的安装:Pangolin
    ./configure, make, sudo make install 的含义
    [Eigen]C++开源线代库
    术语解释
    KDevelop使用笔记【中文教程】
    Python-Day1
    找不到或无法加载主类
    仅仅测试Word2016发布博客
    First Day!
  • 原文地址:https://www.cnblogs.com/rsapaper/p/6764926.html
Copyright © 2011-2022 走看看