是否有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。