Windows Server 2008的注册表结构:
- HKEY_CLASSES_ROOT:用于管理文件系统,指定了Windows中某扩展名的应用程序的文件类型和打开这个文件要调用的程序。和HKEY_LOCAL_MACHINE\SOFTWARE\Classes是一样的,另外简称HKCR。详细文档:http://msdn.microsoft.com/en-us/library/ms724475(VS.85).aspx
- HKEY_CURRENT_USER:包含系统当前用户的信息,在用户登录系统的时候从HKEY_USERS里把对应的项拷贝到HKEY_CURRENT_USER拷贝过来。
- HKEY_LOCAL_MACHINE:管理当前系统的硬件配置,是对所有用户都有效的设置,简称HKLM
- HKEY_USERS:管理系统的用户信息。在这个根键中保存了本地口令列表中的用户标识和密码列表,同时每个用户的预配置信息都被保存在这里。
- HKEY_CURRENT_CONFIG:管理当前用户的系统配置。在这个根键中,保存着定义当前用户桌面配置的数据,改用户使用过的文档列表等等。
常用子键:
- HKLM\SOFTWARE\Microsoft\Windows\currentVersion\Uninstall:程序的卸载信息
- HKLM\SYSTEM\currentControlSet\Control\keyboard Layout:当前语言和输入法信息
- HKLM\SYSTEM\CurrentControlSet\Services\Class:保存计算机设备类型目录,就是整台机器的硬件信息
- HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer:\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders:保存计算机中个人文件夹收藏夹的路径
- HKLM\SOFTWART\Microsoft\Windows\CurrentVersion\Run:保存由控制面板设定的启动时运行程序的名称
注册表的键值格式为:键值名:数据类型:键值
其中键值可以是:
- 字符串值(S):一般表示文件的描述硬件标识什么的。
- 二进制值(B):无长度限制。以HEX的形式显示
- DWORD值(D):32位长的数值
REG文件格式:
很简单,你可以直接导出来学习。
Windows Registry Editor Version 5.00
[HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\Cache\Content]@=”tes“
"CachePrefix"="00000test"
"CacheLimit"=dword:0000c800"SavedLegacySettings"=hex:46,00,00,00,1f,00,00,00,09,00,00,00,00,00,00,00,00,\00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00
"testAddress"="C:\\regedit\\test.reg"
"testAddress"=-
使用REG文件可以操作主键和键值。
- 添加主键直接在[]里面打出主键的路径即可比如[HKEY_USERS\.DEFAULT\Software\Microsoft\test]
- 删除只需要在前面加个-即可,比如:[-HKEY_USERS\.DEFAULT\Software\Microsoft\test],注意删除的时候会把整个主键下所有东西都删掉。
- 添加键值:添加字符串直接用双引号引起来,就像上面那个"CachePrefix"="00000test"一样,添加DWORD数据需要dwork:date,就像上面一样。如果添加二进制数据则是hex:date上面那个\是继续下一行的意思。要设置默认值的键值数据就需要用@符号。
- 删除键值:只需要写”键值“=-即可,比如上面最后一句就是删除testAddress键