我的程序中有这个功能,删除特定的reg文件(如果存在)。出于某种原因,当这段代码运行时,它会出现一条错误消息,指出我无法将字符串转换为双字符
这是我的代码:
Dim RegistryKey As Microsoft.Win32.RegistryKey
RegistryKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("registry key here", True)
If My.Computer.Registry.GetValue("registry key here", "Key to delete", Nothing) Is Nothing Then
Else
RegistryKey.DeleteValue("Key to delete")
End If
以下是错误消息:
答案 0 :(得分:0)
如果要从注册表中删除密钥,则路径必须为:
Int: 0
Float: 0.6666666666666666
如果Dim RegistryKey As Microsoft.Win32.RegistryKey
Dim keyName As String = "Software\Microsoft\Windows\CurrentVersion\Run"
RegistryKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(keyName, True)
那么密钥不存在,否则您可以按照样本删除子密钥执行您想要的操作:
RegistryKey Is Nothing
如果你想检查If Not (RegistryKey Is Nothing) Then
RegistryKey.DeleteValue("foo")
Else
MsgBox("not found")
End If
的值并且它是否存在,请使用:
foo
提示解决问题:
如果你定义一个 If RegistryKey.GetValue("foo") Is Nothing Then
MsgBox("value does not exist")
Else
MsgBox("value exist")
End If
,那么使用它来评估一个子项是否存在或者在注册表中不存在,因为我使用RegistryKey
但你使用RegistryKey.GetValue("foo")