C# 设置注册表值
如果注册表中还没有该值,我可以使用Registry.SetValue方法吗 除了设置其内容外,此方法是否还会创建值,或者我必须确定它是否存在,然后使用SetValue 谢谢。美国,我强调: 在指定的注册表项上设置指定的名称/值对。如果指定的密钥不存在,则会创建该密钥 我将此类类用于读/写注册表:C# 设置注册表值,c#,registry,C#,Registry,如果注册表中还没有该值,我可以使用Registry.SetValue方法吗 除了设置其内容外,此方法是否还会创建值,或者我必须确定它是否存在,然后使用SetValue 谢谢。美国,我强调: 在指定的注册表项上设置指定的名称/值对。如果指定的密钥不存在,则会创建该密钥 我将此类类用于读/写注册表: public class RegistryEditor { RegistryKey m_key; public RegistryEditor() { m_key
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();
}
}
您能描述一下,您想问什么吗?您应该始终调用m_key.Close以确保安全。@David Heffernan,谢谢。请注意,如果您的应用程序遇到的用户对注册表具有策略限制访问权限,则Set和Get将失败。UAC也可以阻止它。