删除注册表项值

时间:2010-06-28 08:47:08

标签: c++ registry enumeration

在MSDN中,它表示在调用更改被枚举的注册表项的函数时不应使用RegEnumValue。

这也适用于删除注册表项值吗?

就像这段代码一样:

if (RegOpenKeyEx(m_hkey,m_path.c_str(),0,KEY_ALL_ACCESS,&key) == ERROR_SUCCESS)
 {
  bool error=false;
  idx=0;
  while (RegEnumValue(key,idx,name,&namesize,NULL,NULL,NULL,NULL) == ERROR_SUCCESS && !error)
  {
   error=(RegDeleteValue(key,name)!=ERROR_SUCCESS);
   idx++;
  }
  RegCloseKey(key);
 }

1 个答案:

答案 0 :(得分:2)

您的代码不起作用。当您删除索引0时,下一个项目将变为索引0,并且您不会删除它。

是的,它适用于删除键值。

相关问题