是否有API会删除特定注册表项下的所有值?
例如,我有以下密钥
HKEY_CURRENT_USER \ SOFTWARE \ MyCompany的\程序\的myconfig
在它之下我有
(默认)
SomeVal
SomeOtherVal
YetSomeOtherVat
...
那里可能有10个,20个,100个值。这取决于您在应用程序上设置的内容。 有没有办法在C中删除它们而不必逐个迭代并删除它们?
谢谢,代码表示赞赏。
答案 0 :(得分:1)
Shlwapi.lib的SHDeleteKey功能可以满足您的需求。
如果您只在Vista和更高版本的操作系统上使用此功能,则可以使用RegDeleteTree
答案 1 :(得分:0)
应该这样做:
if (RegDeleteTree("HKEY_CURRENT_USER", "Software\MyCompany\Program\Myconfig") == ERROR_SUCCESS)
{
. . .
}
此函数删除指定的注册表项及其所有子项。但是,Windows 7使用此功能删除Windows XP计算机上的密钥存在问题。有关详细信息,请参阅MSDN。