C# 使用C删除注册表项中的所有值#
我很难找到一种方法来删除注册表项中的所有值,而不实际删除注册表项本身。我不希望必须删除密钥,因为我不希望将适当的权限重新添加回密钥 我正在尝试运行一个小方法来简单地清除以下值: HKEY\U CURRENT\u USER\Software\Microsoft\Office\15.0\Outlook\Resilience\DisabledItems 我们有一个Outlook定期粘贴在这里的插件,我们的技术人员必须深入这一关键点,删除这些值,重新启动Outlook,一切都很好C# 使用C删除注册表项中的所有值#,c#,outlook,add-in,C#,Outlook,Add In,我很难找到一种方法来删除注册表项中的所有值,而不实际删除注册表项本身。我不希望必须删除密钥,因为我不希望将适当的权限重新添加回密钥 我正在尝试运行一个小方法来简单地清除以下值: HKEY\U CURRENT\u USER\Software\Microsoft\Office\15.0\Outlook\Resilience\DisabledItems 我们有一个Outlook定期粘贴在这里的插件,我们的技术人员必须深入这一关键点,删除这些值,重新启动Outlook,一切都很好 我想我们可以只确定值的
我想我们可以只确定值的确切名称,但那不是很有趣:)而且因为值在这个键中的命名方式,不清楚哪一个指向正确的加载项。我同意Ron Beyer的观点。我想这可能就是你要找的?根据需要编辑注册表路径和HKLM/HKCU
string keyPath64Bit = "SOFTWARE\\Wow6432Node\\Krondorian";
RegistryKey localMachine = RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.LocalMachine, RegistryView.Registry64);
RegistryKey key64Bit = localMachine.OpenSubKey(keyPath64Bit, true);
if (key64Bit != null)
{
var namesArray = key64Bit.GetValueNames();
foreach (string valueName in namesArray)
{
key64Bit.DeleteValue(valueName);
}
}
为什么不删除整个密钥,然后将其作为空密钥重新添加?请重新阅读我的部分问题:我不想删除密钥,因为我不想将适当的权限重新添加回密钥。显然,如果这是唯一的选择,那么就这样吧。你能展示一下你的尝试吗?似乎需要使用
RegistryKey.GetValueNames()
和RegistryKey.DeleteValue
来枚举值,然后删除它们。右上角有一个搜索功能。输入C#注册表循环