使用c#修改注册表中的子键

本文关键字:注册表 修改 使用 | 更新日期: 2023-09-27 18:13:35

我需要更改注册表中的子键。

我搜索了很多,没有找到任何改变子键的方法。

微软支持这个功能吗?

我可以使用这个

更改键/值对,但不能更改子键。
Registry.SetValue(keypath, subkey, Guid.NewGuid().ToString("B"));

使用c#修改注册表中的子键

如果你想改变"默认值"使用一个空白字符串作为值的名称时设置它

您正在寻找RegistryKey.CreateSubKey方法。

示例(来自http://msdn.microsoft.com/en-us/library/ad51f2dx.aspx):

)
 RegistryKey test9999 = Registry.CurrentUser.CreateSubKey("Test9999");

您要在子键上更改什么?如果是名称,则为只读且不能更改。Regedit可以通过创建新键并将每个子键和值单独复制到新键来重命名键。

static void WriteRegistry(RegistryKey parentKey, String subKey, String valueName, Object value)
{
        RegistryKey key;
    try
    {
        key = parentKey.OpenSubKey(subKey, true);
        if(key == null) //If the key doesn't exist.
                {
           key = parentKey.CreateSubKey(subKey);
                }
        //Set the value.
        key.SetValue(valueName, value);
        Console.WriteLine("Value:{0} for {1} is successfully written.", value, valueName);
    }
    catch(Exception e)
    {
        Console.WriteLine("Error occurs in WriteRegistry" + e.Message);
    }
}