关于Registry CreateSubKey的简单问题

时间:2011-03-07 08:30:29

标签: c# .net windows registry

为什么这不起作用?我正在尝试在[HKEY_LOCAL_MACHINE \ SOFTWARE \ MyService]下创建一个注册表项,但没有创建任何内容。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using Microsoft.Win32;

namespace RegistryKey
{
    class Program
    {
        static void Main(string[] args)
        {
            const string SUB_KEY_NAME = @"SOFTWARE\MyService";

            // Create a subkey named MyService under HKEY_LOCAL_MACHINE.
            Registry.LocalMachine.CreateSubKey(SUB_KEY_NAME);
        }
    }
}

更新:没关系。我是个白痴。我使用远程注册表编辑器检查注册表,相信它将显示与regedit相同。它没有!我可以使用regedit查看路径。

2 个答案:

答案 0 :(得分:7)

您没有HKLM的写入权限。如果你想在这里写,那么你需要:

  • 以提升的用户身份运行该流程,或。
  • 仅在安装期间尝试写入HKLM。

答案 1 :(得分:1)

尝试使用此代码:

RegistryKey regkey = Registry.CurrentUser;
regkey = regkey.CreateSubKey(SUB_KEY_NAME); //this is the path then you create yours keys
regkey.SetValue("Install", "ok"); //name of key exp:(install) and then the value exp:(ok)