【问题标题】:checking for regkey vb.net检查 regkey vb.net
【发布时间】:2011-11-17 10:15:07
【问题描述】:

我无法获得以下代码来检查我的 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

【问题讨论】:

    标签: vb.net registry key


    【解决方案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而不是抛出异常。

    【讨论】:

    • hmmm 我已经插入钥匙并把它取出,但消息框一直告诉我它存在? (查看 ipdated 代码以查看全部内容)
    • @BartvanTuÿl:如果它找到它,那么它应该在那里。是否尝试过手动检查密钥是否存在?您使用的是 x86 还是 x64 机器?在 x64 的情况下,它将在 WOW64 下。
    【解决方案2】:

    您说“如果存在则检查它是否存在,如果不创建它,则不执行任何操作,以及它的值......”。 如果您创建一个键,您还需要创建一个名称并为名称添加一个值,您不能为键添加值。

    看看MSDN OpenSubKey中的示例

    【讨论】:

      猜你喜欢
      • 2021-01-21
      • 1970-01-01
      • 2021-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-31
      • 2017-03-31
      • 1970-01-01
      相关资源
      最近更新 更多