非常感谢您尝试发送答案的任何人。但我自己找到了解决方案。所以我把它放在这里以防其他人想看到它。解决方案是使用注册表 Hive 的心态。需要了解的是,子键是一一创建的,只有在我们打开注册表到最后一个存在的子键之后。新的子密钥不需要在“子密钥”之前或之后有任何字符,请看代码。
Private Sub RegSubKeyCreates(ByVal sKeyPath As String)
Dim RegKey As RegistryKey
Dim SubKeyParam() As String = Nothing
Dim UB As Integer
Dim Bound As Integer
Dim KeyPath As String
SubKeyParam = Split(sKeyPath, "\")
UB = UBound(SubKeyParam)
For Bound = 0 To UB - 1
KeyPath = KeyPath + SubKeyParam(Bound) + "\"
Next
RegKey = Registry.CurrentUser.OpenSubKey(KeyPath, True)
RegKey.CreateSubKey(SubKeyParam(UB))
End Sub
导致这一点的子是:
Select Case RegKeyExists("Software\sKey1")
Case True
Case False
RegSubKeyCreates("Software\skey1")
Select Case RegKeyExists("Software\sKey1\sKey2")
Case True
Case False
RegSubKeyCreates("Software\sKey1\sKey2")
Select Case RegKeyExists("Software\sKey1\sKey2\sKey3")
Case True
Case False
RegSubKeyCreates("Software\sKey1\sKey2\sKey3")
Select Case RegKeyExists("Software\skey1\sKey2\sKey3")
Case True
SetRegKeyValue("KeyName", "KeyValue", "TheTotalSubKeyPath")
Case False
End Select
End Select