13

我需要一些指导来读取/写入/保存注册表中的值。我对在注册表中保存东西的概念不熟悉

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

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

我该怎么做?

4

2 回答 2

34

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
}

希望这可以帮助。

于 2012-05-22T16:11:05.990 回答
15

这是一个快速代码:

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

于 2012-05-22T16:45:17.847 回答