设置注册表值

时间:2014-06-09 11:05:28

标签: c# registry

如果注册表中不存在该值,我可以使用Registry.SetValue()方法吗?

除了设置内容之外,此方法是否会创建值,或者我必须确定它是否存在然后使用SetValue(...)

感谢。

1 个答案:

答案 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();
    }
}