无法在C#中设置注册表值

本文关键字:设置 注册表 | 更新日期: 2023-09-27 18:23:59

我有一个名为system_module的windows窗体应用程序。我希望它能用windows启动。这是我的密码。

private void Form1_Load(object sender, EventArgs e)
    {
        string keyName = @"Software''Microsoft''Windows''CurrentVersion''Run";
        using (RegistryKey key = Registry.CurrentUser.OpenSubKey(keyName, true))
        {
            if (key == null)
            {
                // Key doesn't exist.
                key.SetValue("system_module", "Application Location");
            }
            else { }
        }
    }

但这并没有在运行中创造价值/我搜索了整个注册表,除了一些不相关的值外,没有发现任何引用system_module的内容。

p.S我对登记处的事情了解不多。如果我的术语有误,我很抱歉。希望你能理解我的意图。我在这个网站的其他问题中找到了上面的代码。我不知道为什么这不起作用。

无法在C#中设置注册表值

您没有使用SetValue()-因为"Run"-Key存在

用途:

if (key != null)
        {
            // Key doesn't exist.
            key.SetValue("system_module", "Application Location");
        }

并处理密钥==null以添加Run密钥(默认情况下,该密钥存在)

如果你不想修改密钥,如果你的"system_module","Application Location"已经存在,你必须查询"密钥"下的值