private void button1_Click(object sender, EventArgs e)
{
var k1 = Registry.LocalMachine.OpenSubKey("SOFTWARE", true).CreateSubKey("test");
}
我正在寻找注册表HKEY_LOCAL_MACHINE-SOFTWARE和WOW6432Node。我无法在那里找到测试密钥。
我的用户是管理员。
我没有收到错误。
也许它有简单的解决方案,但我工作了45分钟,我无法解决这个问题。谢谢你的帮助。
答案 0 :(得分:1)
你确定你正在寻找合适的东西吗?注册表可能是一件善变的事情。
我跑了
RegistryKey k1 = Registry.LocalMachine.OpenSubKey("SOFTWARE", true).CreateSubKey("test");
k1.SetValue("my value","here");
在注册表中还没有任何显示 - 有些事情不会很快显示出来,因为它取决于阅读时间。
然而结束应用程序,并运行
RegistryKey k1 = Registry.LocalMachine.OpenSubKey("SOFTWARE", true).CreateSubKey("test");
Console.WriteLine(k1.GetValue("my value"));
显示我的价值在那里。
答案 1 :(得分:0)
我尝试了SetValue,就像你的代码一样,我收到了securityexception。
我构建我的程序然后我以管理员身份启动了我的exe并没有错误。 我也可以GetValue。但我还没有看到注册表。当我在regedit上搜索“test”(ctrl + f)时,我找不到。
是一个我不知道的问题。现在它的工作很麻烦:)
更新:我退出regedit然后我一遍又一遍地开始但是当我刷新时我可以看到测试-_-这样一个白痴。