在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);
}
答案 0 :(得分:2)
您的代码不起作用。当您删除索引0时,下一个项目将变为索引0,并且您不会删除它。
是的,它适用于删除键值。