在Registry中保存TextBox值

use*_*658 11 c# registry read-write winforms

我在阅读/写入/保存Registry中的值时需要一些指导.我不熟悉在注册表中保存内容的概念

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

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

我有多害羞吗?

Bal*_*i C 32

using Microsoft.Win32;

来写:

Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\MyProgram", "Username", "User1");
Run Code Online (Sandbox Code Playgroud)

阅读:

string username = Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\MyProgram",
                                    "Username", "NULL").ToString();
Run Code Online (Sandbox Code Playgroud)

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

所以,如果你这样做:

if(username == "NULL")
{
    // it doesn't exist, handle situation here
}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.


Hat*_*oft 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();
}
Run Code Online (Sandbox Code Playgroud)

现在如果你运行regedit并且必须看到 HKEY_CURRENT_USER\ExampleTest