存储系统和应用程序的设置信息。
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);