检查regkey vb.net

时间:2011-11-17 10:15:07

标签: vb.net registry key

我无法获得以下代码来检查我的regestrykey是否存在可以帮助。我的想法是检查它是否存在,如果没有,如果不创建它,以及它的值...

完整键是HKEY_LOCAL_MACHINE \ SOFTWARE \ VTS \ Advanced Offset 2 \ Admin \ Access

>         If Dir$("HKEY_LOCAL_MACHINE\SOFTWARE\VTS\Advanced Offset 2\Admin", vbDirectory) <> "" Then

        Else
            MsgBox(".NET Framework 2.0")

        End If

更新代码:

Dim l_subKeyPath As String = "SOFTWARE\VTS\Advanced Offset 2\Admin\Access"
Dim l_regKey As RegistryKey = My.Computer.Registry.LocalMachine.OpenSubKey(l_subKeyPath, False)
If (l_regKey Is Nothing) Then
    'if nothing then key doesn't exists
    'Registry.SetValue("HKEY_LOCAL_MACHINE\SOFTWARE\VTS\Advanced Offset 2\Admin", "ACCESS", "PASSWbORD")
    MsgBox("yess")
Else
    'key exists
    MsgBox("no")
End If

2 个答案:

答案 0 :(得分:1)

试试这个:

    Dim l_subKeyPath as string = "SOFTWARE\VTS\Advanced Offset 2\Admin\Access"
    Dim l_regKey As RegistryKey = My.Computer.Registry.LocalMachine.OpenSubKey(l_subKeyPath, False)
     If (l_regKey Is Nothing) Then
        'if nothing then key doesn't exists
     else
        'key exists
     End If

引用MSDN:

RegistryKey.OpenSubKey Method

  

如果请求的密钥不存在,则此方法返回Nothing而不是抛出异常。

答案 1 :(得分:0)

你说“检查它是否存在,如果没有,如果不创建它,以及它的值......”。 如果你创建一个键,你还需要创建一个NAME并为名称添加一个值,你不能为一个键添加一个值。

查看MSDN OpenSubKey

中的示例