在注册表项下创建7个注册表值而不重复

时间:2016-07-20 07:18:38

标签: .net vb.net permissions registry repeat

我正在使用vb.net开发一个Windows应用程序。现在我想在注册表HKEY_CURRENT_USER\SOFTWARE\MYAPP中添加7个值。

只有当子项中不存在时,才应添加每个值(7个中的一个)。

最后,我想在MYAPP SUBKEY下只看到7个。我怎么做?我需要你的帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用RegistryKey对象的Nothing并测试结果,如果 Dim myAppKey = Microsoft.Win32.RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.CurrentUser, Microsoft.Win32.RegistryView.Default) If myAppKey Is Nothing Then Throw New Exception("Failed to open registry") Dim subKeyName = "SOFTWARE\MYAPP" 'attempt to open the subkey with write acces because we need this if we are creating values Dim subKey = myAppKey.OpenSubKey(subKeyName, True) If subKey Is Nothing Then 'create the sub key because it doesn't exist myAppKey.CreateSubKey(subKeyName) 're open the new key subKey = myAppKey.OpenSubKey(subKeyName, True) End If 'create values in a loop for testing For i = 0 To 6 If subKey.GetValue("Value" & i) Is Nothing Then 'value does not exist so create it subKey.SetValue("Value" & i, i) End If Next 则该值不存在。

这是一个让你工作的完整例子。请注意,可能需要管理员权限才能创建密钥和值,具体取决于计算机权限:

let m = new Mine();