有VB.NET注册表编辑麻烦

时间:2013-05-22 22:49:49

标签: vb.net registry

我正在尝试创建一个简单的程序,当我按下按钮时,它会为我的Windows注册表的特定部分添加一个值,但它会将它添加到错误的位置。我指定了我想要添加的东西的正确位置。所以,我不知道为什么会这样做,但我想知道如何修复它,以便将它添加到正确的位置。到目前为止,这是我的代码:

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim key As RegistryKey = Registry.LocalMachine
    Dim subkey As RegistryKey
    subkey = key.OpenSubKey("HKEY_CURRENT_USER\Software\Ashampoo\Ashampoo MouseTracer\legend", True)
    My.Computer.Registry.CurrentUser.SetValue("day6Value", 99999999999.999)
End Sub

它将要添加的内容放在HKEY_CURRENT_USER根目录中,而不是HKEY_CURRENT_USER \ Software \ Ashampoo \ Ashampoo MouseTracer \ legend

任何帮助都将非常感谢。谢谢!

2 个答案:

答案 0 :(得分:1)

据我所知,问题似乎在这里:

subkey = key.OpenSubKey("HKEY_CURRENT_USER\Software\Ashampoo\Ashampoo MouseTracer\legend", True)
My.Computer.Registry.CurrentUser.SetValue("day6Value", 99999999999.999)

您设置了子项,但随后添加到CurrentUser,而不是添加到该子项。

试试这个:

subkey = key _
    .OpenSubKey("HKEY_CURRENT_USER\Software\Ashampoo\Ashampoo MouseTracer\legend", True)
subkey.CreateSubKey("day6Value")
subkey.SetValue("day6Value", 99999999999.999)

答案 1 :(得分:1)

C#

RegistryKey key = Registry.LocalMachine.OpenSubKey(@"HKEY_CURRENT_USER\Software\Ashampoo\Ashampoo MouseTracer\legend", true);
key.SetValue("key", "1", RegistryValueKind.String);
key.close();

VB

Dim key As RegistryKey = Registry.LocalMachine.OpenSubKey("HKEY_CURRENT_USER\Software\Ashampoo\Ashampoo           MouseTracer\legend", True)
key.SetValue("key", "1", RegistryValueKind.[String])
key.close()