存储系统和应用程序的设置信息。
1.软硬件的有关配置的初始状态信息和卸载数据
2.整个计算机系统的设置、许可协议、文件关联硬部件描述、状态和属性
3.性能记录、底层系统状态信息,以及其他数据

HKEY_USERS:存放在本地计算机口令列表中的用户标识和密码列表。每个用户的预配置信息都存储在根键中。保存了所有目前登陆用户和缺省用户的设置。登陆用户的改变就如同不同用户使用这个系统,sid是用户信息的表现。使用程序重新找到任何用户的ntuser.dat文件并且把他放如到注册表中观看和编

HKEY_CURRENT_USER:包含本地工作站中存放的当前登陆的用户信息,包括用户登陆用户名和暂存密码。登陆时用户信息从HKEY_USERS复制到此

HKEY_CURRENT_CONFIG:保存了定义当前用户桌面配置的数据,最后使用的文档列表和其他有关当前用户的信息

HKEY_CLASSES_ROOT:包含注册的所有OLE信息和文档类型。包括了所有文件扩展和所有和执行文件相关的文件。它同样也决定了当一个文件被双击时起反应的相关应用程序。是从HKEY_LOCAL_MACHINE\SOFTWARE\Classes复制的

HKEY_LOCAL_MACHINE:计算机硬件数据。根键下的子关键字包含在SYSTEM.DAT中。保存着计算机的系统信息。它包括网络和硬件上所有的软件设置。针对使用这个系统的所有用户的


键值项数据:
* 字符串值:表示文件的描述、硬件的标识。由字母和数字组成,最大长度255
* 二进制值:无长度限制,任意字节长。以十六进制显示出来
* DWORD值:32位长度。以十六进制显示出来


写入某个注册表项的值

 1 HKEY hkey;
 2 LONG lResult=RegCreateKey(HKEY_LOCAL_MACHINE,"SoftWare\\Attack",&hkey);//似乎根键下不能创建项
 3 //创建,存在则打开
 4 if (lResult == ERROR_SUCCESS)
 5 {
 6  //MessageBox("打开或创建项成功。。");
 7 }
 8 lResult=RegSetValue(hkey,"",REG_SZ,"HELLO WORLD",strlen("HELLO WORLD"));//第三个参数必须为这个,表示字符串值,其他值则用RegSetValueEx
 9 if (lResult == ERROR_SUCCESS)
10 {
11  //MessageBox("创建值成功。。");
12 }

查询某个注册表的值

 1 TCHAR* chData;
 2 LONG lLen;
 3 lResult=RegQueryValue(hkey,"",NULL,&lLen);//第一次让系统获取长度
 4 if (lResult == ERROR_SUCCESS)
 5 {
 6  chData=new TCHAR[lLen];
 7  RegQueryValue(hkey,"",chData,&lLen);
 8  MessageBox(chData);
 9  delete chData;
10 
11 }
12 //RegDeleteValue(hkey,"Hello");//删除值名称为Hello的数据
13 RegCloseKey(hkey);