注册表的数据类型主要有以下四种:
显示类型(在编纂器中) 数据类型 说明
REG_SZ 字符串 文本字符串
REG_MULTI_SZ 多字符串 含有多个文本值的字符串
REG_BINARY 二进制数 二进制值,以十六进制显示.
REG_DWORD 双字 一个32位的二进制值,显示为8位的十六进制值.
各主键的简单介绍
HKEY_LOCAL_MACHINE 是一个显示控制系统和软件的措置惩罚惩罚键.HKLM键生存着计算机的系统信息.它包孕网络和硬件上所有的软件设置.
HKEY_CLASSES_ROOT 是系统中控制所有数据文件的项.
HKEY_USERS 将缺省用户和目前登陆用户的信息输入到注册表编纂器
HKEY_CURRENT_USER 包罗着在HKEY_USERS安适鉴别里列出的同样信息
HKEY_CURRENT_CONFIG 包孕了系统中现有的所有配置文件的细节.HKEY_CURRENT_CONFIG允许软件和设备驱动措施员很便利的更新注册表,而不涉及到多个配置文件信息. HKEY_LOCAL_MACHINE中同样的数据和任何注册表的变革城市同时的变革.
相关函数
创建键 RegCreateKeyEx(次函数主要用于生成键(目录))
函数原型
LONG RegCreateKeyEx(
HKEYhKey, // handle to open key
LPCTSTRlpSubKey, // subkey name
DWORDReserved, // reserved
LPTSTRlpClass, // class string
DWORD dwOptions, // special options
REGSAMsamDesired, // desired security access
LPSECURITY_ATTRIBUTES lpSecurityAttributes, //inheritance
PHKEYphkResult, // key handle
LPDWORD lpdwDisposition //disposition value buffer
);
参数说明
hKey: 要打开键的句柄或以下预界说句柄
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
lpSubKey: 指向一个用于界说子键路径的字符串
Reserved,dwOptions,samDesired: 置0
lpClass,lpSecurityAttributes: 置NULL
phkResult: 用于接收键句柄
lpdwDisposition: 接收的相关信息,取值如下
REG_CREATED_NEW_KEY 创建告成
REG_OPENED_EXISTING_KEY 键已存在
返回值:If the function succeeds, the return value is ERROR_SUCCESS.
打开键 RegOpenKeyEx
函数原型
LONG RegOpenKeyEx(
HKEYhKey, // handle to open key
LPCTSTRlpSubKey, //subkey name
DWORDulOptions, //reserved
REGSAMsamDesired, // security access mask
PHKEYphkResult //handle to open key
);
参数说明
hKey: 要打开键的句柄或以下预界说句柄
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
lpSubKey: 指向一个用于界说子键路径的字符串
ulOptions: 保存位,置0
samDesired: 打开键后键的操纵权限
phResult: 接收打开的键的句柄
返回值:If the function succeeds, the return value is ERROR_SUCCESS
删除键 RegDeleteKey
函数原型
LONG RegDeleteKey(
HKEYhKey, // handle to open key
LPCTSTRlpSubKey //subkey name
);
参数说明
hKey: 要打开键的句柄或以下预界说句柄
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
lpSubKey: 指向一个用于界说子键路径的字符串
返回值:If the function succeeds, the return value is ERROR_SUCCESS
改削/添加键值 RegSetValueEx
函数原型
LONG RegSetValueEx(
HKEYhKey, // handle to key
LPCTSTRlpValueName, // value name
DWORDReserved, //reserved
DWORDdwType, //value type
CONST BYTE*lpData, //value data
DWORD cbData // size ofvalue data
);
参数说明
hKey: 打开键的句柄或以下预界说句柄
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
lpValueName: 键值的名称
Reserved: 保存位,置0
dwType: 键值的类型
lpData: 键值
cbData: 键值数据长度
返回值:If the function succeeds, thereturn value is ERROR_SUCCESS
删除键值 RegDeleteValue
函数原型
LONG RegDeleteValue(
HKEYhKey, // handle to key
LPCTSTRlpValueName //value name
);
参数说明
hKey: 打开键的句柄或以下预界说句柄
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
lpValueName: 键值的名称
返回值:If the function succeeds, the return value is ERROR_SUCCESS
读取键值 RegQueryValueEx
函数原型
LONG RegQueryValueEx(
HKEYhKey, // handle to key
LPCTSTRlpValueName, //value name
LPDWORDlpReserved, //reserved
LPDWORD lpType, // type buffer
LPBYTElpData, //data buffer
LPDWORDlpcbData //size of data buffer
);
参数说明
hKey: 打开键的句柄或以下预界说句柄
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
lpValueName: 键值的名称
Reserved: 保存位,置0
lpType: 接收键值的类型
lpData: 接收键值
lpcbData: 接收键值数据长度