gpt4 book ai didi

c# - RegistryKey 处的 NullReferenceException

转载 作者:行者123 更新时间:2023-11-30 21:02:56 25 4
gpt4 key购买 nike

我想从注册表中读取并设置一些值,但我一直收到 NullReferenceExceptions。

public partial class Form1 : Form
{

RegistryKey rkApp = null;
RegistryKey settings = null;

public Form1()
{
InitializeComponent();

rkApp = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
settings = Registry.CurrentUser.OpenSubKey("HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Shit", true);

if (settings.GetValue("automove") != null)
{
automove = true;
autostartToolStripMenuItem.Checked = true;
}
}
}

我在这个例子中删除了一些不相关的代码,但这是我的代码......有什么想法吗?

错误出现在 if (settings.GetValue("automove") != null)

最佳答案

Registry.CurrentUser.OpenSubKey("HKEY_LOCAL_MACHINE\\...

HKEY_CURRENT_USER配置单元不包含名称以 HKEY_LOCAL_MACHINE 开头的键.如果您尝试从本地机器配置单元读取,则需要更新您的代码:

Registry.LocalMachine.OpenSubKey("SOFTWARE\\Wow6432Node\\Shit", true)

此外,如果 Wow6432Node key 不存在(也许您正在运行 32 位操作系统?),或者不包含名为 Shit 的 key , 然后是 OpenSubKey方法将返回 null .

关于c# - RegistryKey 处的 NullReferenceException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13146539/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com