注册表API简易教程
术语对照
注册表操作常用API
API 说明
RegCreateKey 创建一个KEY,并返回相应的HKEY
RegOpenKey 打开注册表,得到一个HKEY,用来作为下面这些函数的第一个参数。
RegOpenKeyEx 同RegOpenKey类似,一般很少用,增加了一个访问控制类型参数。
RegSetValue 设置一个HKEY的默认值
RegSetValueEx 设置一个HKEY除默认值以外其它的值
RegQueryValue 获取一个HKEY的默认值
RegQueryValueEx 获取一个HKEY除默认值以外其它的值
RegDeleteKey 删除一个KEY,此KEY不能包含子KEY
SHDeleteKey 删除一个KEY以及所有子KEY
RegDeleteValue 删除KEY里面的值
RegCloseKey 关闭注册表
注册表数据类型
类型 说明
REG_DWORD 32位数字
REG_SZ 以NULL结尾的字符串,它可以为Unicode或ANSI字符串,取决于是否使用的是Unicode还是ANSI函数。
函数用法
RegCreateKey
LONG RegCreateKey(
HKEY hKey, // handle to an open key
LPCTSTR lpSubKey, // subkey name
PHKEY phkResult // buffer for key handle
);
假如我们要将demo程序的许多相机参数保存到:HKEY_LOCAL_MACHINESOFTWAREdaheng_directx,使用这个函数来创建指定的key,得到对于的HKEY以便进一步操作。
HKEY hKey;
if (RegCreateKey(HKEY_LOCAL_MACHINE,
"Software\daheng_directx", &hKey) == ERROR_SUCCESS) {
// 在这里就可以使用hKey来操作daheng_directx这个KEY里面的值了。
}
RegCloseKey(hKey);
注意:一般程序经常保持数据的位置有:HKEY_LOCAL_MACHINESOFTWARE和HKEY_CURRENT_USERSoftware,两者的区别为:前者保持的数据,操作系统上的所有账户都可以访问(比如你的机器上有两个账户,一个是徐艺波,一个是康康,假如你将注册表保存在HKEY_LOCAL_MACHINESOFTWARE,那么当系统以徐艺波的账户登录加入后,运行demo和进入康康运行demo,获取的初始值都是一样的。),而HKEY_CURRENT_USERSoftwar是针对当前账户的,系统以不同的账户登录,这个KEY下面的值是不一样的。
RegOpenKey
LONG RegOpenKey(
HKEY hKey, // handle to open key
LPCTSTR lpSubKey, // name of subkey to open
PHKEY phkResult // handle to open key
);
这个函数不同于RegCreateKey的地方在于,如果这个KEY不存在,那么此函数执行失败(而RegCreateKey:存在的话,返回存在的HKEY;不存在,创建一个并返回其HKEY)。 假如我们要将demo程序的许多相机参数保存到:HKEY_LOCAL_MACHINESOFTWAREdaheng_directx,使用这个函数来打开指定的key,得到对于的HKEY以便进一步操作。
HKEY hKey;
if (RegOpenKey(HKEY_LOCAL_MACHINE, "Software\daheng_directx",
&hKey) == ERROR_SUCCESS) {
// 在这里就可以使用hKey来操作daheng_directx这个KEY里面的值了。
}
RegCloseKey(hKey);
RegSetValueEx
LONG RegSetValueEx(
HKEY hKey, // handle to key
LPCTSTR lpValueName, // value name
DWORD Reserved, // reserved
DWORD dwType, // value type
相关新闻>>
- 发表评论
-
- 最新评论 更多>>