是否有API会删除特定注册表项下的所有值?删除特定注册表项下的所有值
例如,我有以下关键
HKEY_CURRENT_USER \ SOFTWARE \ MyCompany的\程序\的myconfig
下它,我有
(默认)
SomeVal
SomeOtherVal
YetSomeOtherVat
...
可能有10个,20个,100个值。这取决于您在应用程序上设置的内容。 C中有没有一种方法可以全部删除它们,而无需逐个迭代并删除它们?
谢谢,代码表示赞赏。
是否有API会删除特定注册表项下的所有值?删除特定注册表项下的所有值
例如,我有以下关键
HKEY_CURRENT_USER \ SOFTWARE \ MyCompany的\程序\的myconfig
下它,我有
(默认)
SomeVal
SomeOtherVal
YetSomeOtherVat
...
可能有10个,20个,100个值。这取决于您在应用程序上设置的内容。 C中有没有一种方法可以全部删除它们,而无需逐个迭代并删除它们?
谢谢,代码表示赞赏。
Shlwapi.lib中的SHDeleteKey函数做你想要的。
当您只需要在Vista和更高版本的操作系统版本上使用此功能时,可以使用RegDeleteTree
这应该做到这一点:
if (RegDeleteTree("HKEY_CURRENT_USER", "Software\MyCompany\Program\Myconfig") == ERROR_SUCCESS)
{
. . .
}
此函数删除一个指定的注册表项及其所有子项。但是,Windows 7在使用此功能的计算机上删除密钥时存在问题。详情请参阅MSDN。