注册表(Regostry),这是目前所有windows最重要的地方,系统上所有设置都避不开这里。
注册表是由无数个文件夹跟文件组成的,在注册表里,文件夹被称为"键",其中键又分为"根键"与"子键",当你打开注册表时,你会看到有5个"HEKY"开头的键,这5个就是"根键"(ROOT key),5个根键位于所有键的最上层,分别存放不同类别的系统信息。在这些根键里面的所有文件夹都被称"子键",而所有文件则被称为"键值"。键值具有名称,类型,数据三个字段(相当于一个人的名字,性别,职务),同时,系统上的所有设置都在键值当中。
下面介绍下5个根键:
HEKY_USERS(默认用户)
此根键简写为HKU,其中.DEFAULT子键记录windows用户默认的个人设置。与HKEY_CURRENT_USER是相同内容,如桌面配置,开始菜单等。其中很多类似s-1-15-18,s-1-15-18_classes的子键,都是与系统内置程序与相关服务有关,一般来说,你是用不到(反正我没怎么碰过)
HEKY_CURRENT_USER(当前用户)
此根键简写为HKCU,主要保持当前登陆windows的用户数据,以及个性化设置,桌面外观,软件设置,开始菜单等,而键的内容会随着登陆用户不同而改变,在子键中,Control Panel(控制面板)与Software(软件)最为重要
- Control Panel:记录用户的操作设置,例如,桌面背景。窗口外观等,几乎所有控制面板的设置都在此,后面会频繁用到
- Software:记录了用户当前环境中安装的软件设置,甚至windows本身内置的功能,也都在此进行调整,后面常用到。
HKEY_LOCAL_MACHINE(本地硬件配置)
此根键简写HKLM,保存绝大部分的系统信息,包括硬件配置,外围设备,网络设置以及所安装的软件,是注册表数据库中最重要最庞大的根键,5个重要子健
- HARDWARE:记录了计算机硬件相关各项信息,以及驱动程序的设置等,当使用设备管理器更改硬件的设置时,这个键中数据也会变化
- SAM与SECURITY:记录本台计算机上的账户与组账户,与相关的系统安全设置,权限分配等,在一般情况下用户无法访问此键内容,因此在这两个键下,看不到任何键值
- SOFTWARE:包含着已安装的各项软件信息,与HKCU\SOFTWARE不同的是,此键影响范围大,对系统下所有用户都有效
- SYSTEM:包含有关系统驱动,驱动程序加载与操作系统本身相关的各项设置信息
HKEY_CLASSES_ROOT(扩展名与文件类型)
此根键简写HKCR,其内容包含了所有文件类型,文件关联,图标与扩展名等信息,甚至每种文件类型以哪个软件打开,也都在此设置
HEKY_CURRENT_CONFIG(当前硬件配置)
- 此根键简写HKCC,主要记录当前硬件配置值,HKCC跟HKLM部分重叠至于其他硬件配置文件保存在HEKY_LOCAL_MACHINE\SYSTEM|CurrentControlSet\Haedware profiles键下
- HKCR\*\shell = HKCU\Sfotware\classes\*\shell = HKLM\Sfotware\*\shell相互映射
- HKCU\Sfotware\classes\*\shell = HKCR\*\shell相互映射
- HKCR\*\shell= HKLM\Sfotware\*\shell相互映射
总的来说优先级为:
HKCR>HKLM>HKCU
说完了键,现在说说键值
键值:
注册表中键值有15种之多,实际可用为6种
字符串值
二进制值
DWORD(整数)/QWORD值
多字符串值
可扩充字符串值
reg语句用法:
基本语法---添加操作语法Windows Registry Editor Version 5.00(头文件,必须加,不同系统不同版本) 空行(不同的路径用一个空行隔行) [RegistryPath1](键的路径:[HKCR\*\shell\aaa\bbb]) "DataItemName1"="DataType1:DataValue1" (键值名称(名称要用双引号))=键值类型:键值数据) "DataItemName2"="DataType2:DataValue2" (不用的脚本内容,内部的键的数量,以及键值的数量各不同) 空行 [RegistryPath2] "DataItemName3"="DataType3:DataValue3" 空行 [RegistryPath3] "DataItemName4"="DataType4:DataValue4"保存格式为:xxx.reg
REGDIT4 (2000,2003mxp兼容)
删除操作语法:
Windows Registry Editor Version 5.00[-HKCR*\shell\xxx\yyyyy]
那么yyyyy下面的所有内容都会咔嚓
- 要想删除一个键值,只需要在DataitemName后面的等号后添加字符"-"即可
[HKEY_CLASSES_ROOT\*\shell\xxxx\\] "ceshi"=-如果你先重命名一个键或键值,emmmm,那只能删掉在创建。
如果你想注释,只需要在开头加 “;”
最后建议所有试验不要在本机上操作
删除5大根键会有奇效