如果注册表中不存在该值,我可以使用Registry.SetValue()
方法吗?
除了设置内容之外,此方法是否会创建值,或者我必须确定它是否存在然后使用SetValue(...)
?
感谢。
答案 0 :(得分:0)
documentation州,我强调:
在指定的注册表项上设置指定的名称/值对。 如果指定的密钥不存在,则会创建。
我将这样的类用于读/写注册表:
public class RegistryEditor
{
RegistryKey m_key;
public RegistryEditor()
{
m_key = Registry.CurrentUser.OpenSubKey("Software\\Company name", true);
m_key = m_key.CreateSubKey("Product name", RegistryKeyPermissionCheck.ReadWriteSubTree);
}
public string GetValue(string name)
{
return m_key.GetValue(name, "").ToString();
}
public void SetValue(string name, string value)
{
m_key.SetValue(name, value, RegistryValueKind.String);
}
~RegistryEditor()
{
m_key.Close();
}
}