レジストリ新規、更新
Private Sub UpdateReg(ByRef reg_type As Integer, _
ByRef subkey As String, _
ByRef name As String, _
ByRef value As Object)
' このプロパティを使用して、Framework の通常のレジストリ処理を実行する
Dim regkey As RegistryKey = Nothing
Try
'レジストリルート設定
'1.HKEY_CLASSES_ROOT
'2.HKEY_CURRENT_USER
'3.HKEY_LOCAL_MACHINE
'4.HKEY_USERS
'5.HKEY_CURRENT_CONFIG
Select Case reg_type
Case 1
regkey = Registry.ClassesRoot.OpenSubKey(subkey, True)
Case 2
regkey = Registry.CurrentUser.OpenSubKey(subkey, True)
Case 3
regkey = Registry.LocalMachine.OpenSubKey(subkey, True)
Case 4
regkey = Registry.Users.OpenSubKey(subkey, True)
Case 5
regkey = Registry.CurrentConfig.OpenSubKey(subkey, True)
Case Else
MessageBox.Show("引数の値が範囲外です" & " ", "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End Select
regkey.SetValue(name, value)
regkey.Close()
Catch ex As Exception
'レジストリが存在しない場合作成
Select Case reg_type
Case 1
regkey = Registry.ClassesRoot.CreateSubKey(subkey)
Case 2
regkey = Registry.CurrentUser.CreateSubKey(subkey)
Case 3
regkey = Registry.LocalMachine.CreateSubKey(subkey)
Case 4
regkey = Registry.Users.CreateSubKey(subkey)
Case 5
regkey = Registry.CurrentConfig.CreateSubKey(subkey)
End Select
UpdateReg(reg_type, subkey, name, value)
End Try
End Sub
