amnon
Member
- Joined
- Dec 18, 2022
- Messages
- 16
- Programming Experience
- Beginner
Hi,
My Function Set value to the Registry, check to see if a registry SubKeys exist, if not add SubKeys.
Function works fine but I can't manage with returned boolean.
Best Regards
Amnon
My Function Set value to the Registry, check to see if a registry SubKeys exist, if not add SubKeys.
Function works fine but I can't manage with returned boolean.
VB.NET:
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
MessageBox.Show(AddKeySetValue(BaseKey, SubKey, Counter, KeyTable, ValueName, Value))
End Sub
Function AddKeySetValue(BaseKey As RegistryHive, SubKey As String, Counter As Integer, KeyTable() As String, ValueName As String, Value As String) As Boolean
Using MyBaseKey = RegistryKey.OpenBaseKey(BaseKey, RegistryView.Registry64)
Using MySubkey = MyBaseKey.OpenSubKey(SubKey, RegistryKeyPermissionCheck.ReadWriteSubTree)
' ****** Check how many SubKeys need to be add, according to SubKey String ***********************
If MySubkey Is Nothing Then
Dim MySubkeyString As String = SubKey.Substring(0, SubKey.LastIndexOf("\"))
Dim RestSubKey As String = SubKey.Substring(SubKey.LastIndexOf("\") + 1)
ReDim Preserve KeyTable(Counter)
KeyTable(Counter) = RestSubKey
Counter = Counter + 1
AddKeySetValue(BaseKey, MySubkeyString, Counter, KeyTable, ValueName, Value)
Else
' ***** If Subkey Exist Create ValueName and set Value *************
If KeyTable Is Nothing Then
Try
MySubkey.SetValue(ValueName, Value)
Return True
Catch ex As Exception
MessageBox.Show(ex.Message, "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)
Return False
End Try
Else
' ***** If Subkey does not exist, add SubKey-s according to Names in the KeyTable *************
For i As Integer = KeyTable.Length - 1 To 0 Step -1
Dim MyNewSubkey As RegistryKey = MyBaseKey.OpenSubKey(SubKey, RegistryKeyPermissionCheck.ReadWriteSubTree)
MyNewSubkey.CreateSubKey(KeyTable(i))
SubKey = SubKey & "\" & KeyTable(i)
Next
Dim MyNewNewSubKey As RegistryKey = MyBaseKey.OpenSubKey(SubKey, RegistryKeyPermissionCheck.ReadWriteSubTree)
Try
MyNewNewSubKey.SetValue(ValueName, Value)
Return True
Catch ex As Exception
MessageBox.Show(ex.Message, "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)
Return False
End Try
End If
End If
End Using
End Using
End Function
Best Regards
Amnon