认识winodw注册表

欢迎访问个人小站,阅读此文http://www.yandong.org/archives/386

大致认识

    对注册表的大致认识,除了使用百度,google搜索出来之外,推荐阅读这片文章The Windows NT∗ Registry File Format Version 0.4 。尝试对其翻译,比较烂,察看此处(有兴趣且英文好的朋友可以翻译一份,大家共享)

注册表结构的认识

   注册表(Registry,中国大陆译作注册表,台湾、港澳译作登录档)是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息。早在Windows 3.0推出OLE技术的时候,注册表就已经出现。随后推出的Windows NT是第一个从系统级别广泛使用注册表的操作系统。但是,从Windows 95开始,注册表才真正成为Windows用户经常接触的内容,并在其后的操作系统中继续沿用至今。

    注册表由键(或称“项”)、子键(子项)和值项构成。一个键就是分支中的一个文档夹,而子键就是这个文档夹中的子文档夹,子键同样是一个键。一个值项则是一个键的当前定义,由名称、数据类型以及分配的值组成。一个键可以有一个或多个值,每个值的名称各不相同,如果一个值的名称为空,则该值为该键的默认值。

注册表的修改

    1.windows开机状态下,命令行输入regedit,进行修改

    2.windows开机状态下,使用.reg文件直接导入,或者使用批处理,或者使用编程语言调用win API,或者一些开发者的图形化工具。这些方式其实都类似,背后都是调用windows的API。

    3.分析注册表的存储原理,自己编程处理。目前现在有开源的工具和库可以使用。察看此文

注册表的存储

    注册表的存储位置随着Windows的版本变化而不同。尤其是Windows NT家族操作系统和Windows 95家族的存储方式有很大区别。注册表被分成多个文档存储,每一个文档被称为一个配置单元。本文主要是针对windows NT和winxp以后版本。

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

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

名称注册表分支作用
SYSTEMHKEY_LOCAL_MACHINE\SYSTEM存储计算机硬件和系统的信息
NTUSER.DATHKEY_CURRENT_USER存储用户参数选择的信息(此文档放置于用户个人目录,和其他注册表文档是分开的)
SAMHKEY_LOCAL_MACHINE\SAM用户及密码的数据库
SECURITYHKEY_LOCAL_MACHINE\SECURITY安全性设置信息
SOFTWAREHKEY_LOCAL_MACHINE\SOFTWARE安装的软件信息
DEFAULTHKEY_USERS\DEFAULT缺省启动用户的信息
USERDIFFHKEY_USERS管理员对用户强行进行的设置

注册表的文件类型

none

A complete copy of the hive data.

.alt

A backup copy of the critical HKEY_LOCAL_MACHINE\System hive. Only the System key has an .alt file.

.log

A transaction log of changes to the keys and value entries in the hive.

.sav

A backup copy of a hive.


注册表文件的存放位置

    其存放在“\系统文件夹\SYSTEM32\CONFIG”目录下的6个文件,DEFAULT、SAM、SECURITY、SOFTWARE、USERDIFF和SYSTEM中,而用户的配置信息存放在系统所在磁盘的“\Documents and Setting\”目录,包括ntuser.dat,ntuser.ini和ntuser.dat.log。其中每个文件的路径都由注册表项“HKLM\SYSTEM\CurrentControlSet\Control\HIVElist”下的键值指出。 

注册表Hive对应的文件

Registry hiveSupporting files
HKEY_CURRENT_CONFIGSystem, System.alt, System.log, System.sav
HKEY_CURRENT_USERNtuser.dat, Ntuser.dat.log
HKEY_LOCAL_MACHINE\SAMSam, Sam.log, Sam.sav
HKEY_LOCAL_MACHINE\SecuritySecurity, Security.log, Security.sav
HKEY_LOCAL_MACHINE\SoftwareSoftware, Software.log, Software.sav
HKEY_LOCAL_MACHINE\SystemSystem, System.alt, System.log, System.sav
HKEY_USERS\.DEFAULTDefault, Default.log, Default.sav


注册表的根键介绍

    注册表的键值可以随意增删查改,但是windows预制了几个键。其中有一类比较特殊,是根键,这些根键都是虚拟键,意思就是在Hive文件中不存在的。

HandleDescription

*HKEY_CLASSES_ROOT

文件扩展名与应用的关联及OLE信息,他的信息来自于 HKEY_LOCAL_MACHINE and HKEY_CURRENT_USER。

*HKEY_CURRENT_CONFIG

计算机硬件的当前配置信息,它只是描述硬件的当前配置和标准配置的不同之处。它其实只是HKEY_LOCAL_MACHINE\System\CurrentControlSet\Hardware Profiles\Current的另外一个名字

*HKEY_CURRENT_USER

当前登录用户控制面板选项和桌面等的设置,以及映射的网络驱动器。它和HKEY_USERS中的相关键相对应,如果没有对应,则使用 HKEY_USERS\.Default。

*HKEY_LOCAL_MACHINE

计算机硬件与应用程序信息。

*HKEY_USERS

所有登录用户的信息

资料链接

除了阅读相关文章外,本文还参考一下文章

http://zh.wikipedia.org/wiki/%E6%B3%A8%E5%86%8C%E8%A1%A8#.E6.B3.A8.E5.86.8C.E8.A1.A8.E7.9A.84.E5.AD.98.E5.82.A8.E6.96.B9.E5.BC.8F

http://msdn.microsoft.com/en-us/library/windows/desktop/ms724836(v=vs.85).aspx

http://technet.microsoft.com/en-us/library/cc787719(v=ws.10)

转载于:https://my.oschina.net/toyandong/blog/69393

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值