https://jingyan.baidu.com/article/3a2f7c2e76744a26aed61140.html
C++ 注册表的读写_zhengkangchen的专栏-CSDN博客
C/C++注册表【4】键值的获取,设置,删除,枚举_司徒荆的博客-CSDN博客_c++ 读取注册表键值
C/C++注册表【2】打开,创建,删除_司徒荆的博客-CSDN博客
注册表键值的添加、查找的demo见:RegisterTable.rar-C++文档类资源-CSDN文库
删除键值的demo如下:
void DeleteKey()
{
// TODO: 在此添加控件通知处理程序代码
HKEY hKey = NULL;
LPCTSTR lpszSubKey = "SOFTWARE";
LONG lRet = RegOpenKeyEx(HKEY_CURRENT_USER, lpszSubKey, 0, KEY_ALL_ACCESS, &hKey);
if (lRet == ERROR_SUCCESS) {
lRet = RegDeleteKey(hKey, _T("AddFile")); //删除文件夹RegDeleteKey //RegDeleteValue删除指定键
if (lRet == ERROR_SUCCESS)
{
cout << "sucess" << endl;
}
RegCloseKey(hKey);
}
}
相关函数如下:
a、删除注册表指定键下的值
函数定义: LONG RegDeleteValue(HKEY hKey, //子键的句柄
LPCTSTR lpValueName //删除键值的名称
);
b、删除注册表项 (注册表文件夹)就用
函数定义:LONG RegDeleteKey(HKEY hKey, //已打开的键的句柄
LPCTSTR lpSubKey //要删除的子键或路径
);
RegDeleteKey 也可用来删除一个键值。在 Win 95/98 平台下,也可用来删除整个子键和键值。但是在Windows NT/2000及以上平台,只能用来删除没有子键的键。
c、删除一个带有很多子键值的键
函数定义:DWORD SHDeleteKey(HKEY hkey, // 注册表打开的键值的句柄
LPCTSTR pszSubKey //被删除的键值名称
);