在Registry中保存TextBox值

时间:2012-05-22 16:06:33

标签: c# winforms registry read-write

我在阅读/写入/保存Registry中的值时需要一些指导。我是在注册表中保存事物的概念的新手

我有一个Winform,我必须读取/写入App.config文件并使用winform更改用户名和密码。在我的winform中我有2个文本框,当我输入值并点击提交时,它会更改值app.config.I以某种方式做到了,没有问题。

现在我需要将我在Textboxes中输入的值发送到注册表并保存它们,我也应该能够读取它们。

我怎么这么做?

2 个答案:

答案 0 :(得分:31)

using Microsoft.Win32;

写:

Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\MyProgram", "Username", "User1");

阅读:

string username = Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\MyProgram",
                                    "Username", "NULL").ToString();

在我已经放置NULL的读取中 - 如果您要查找的值不存在则返回值。

所以,如果你这样做了:

if(username == "NULL")
{
    // it doesn't exist, handle situation here
}

希望这有帮助。

答案 1 :(得分:14)

这是一个快速代码:

private void button1_Click(object sender, EventArgs e)
{
    Microsoft.Win32.RegistryKey exampleRegistryKey = Microsoft.Win32.Registry.CurrentUser.CreateSubKey("ExampleTest");
    exampleRegistryKey.SetValue("Name", textBox1.Text);
    exampleRegistryKey.Close();
}

现在,如果你运行regedit,必须在HKEY_CURRENT_USER\ExampleTest

下看到