Imports Microsoft.Win32 Module Module1 ' Class1 の概要の説明です。 Sub Main() ' 操作するレジストリ・キーの名前 Dim rKeyName As String = "SOFTWARE\Insider.NET\.NET TIPS" ' 設定処理を行う対象となるレジストリの値の名前 Dim rSetValueName As String = "TestValue" ' 「(既定値)」の設定/取得/削除を行うには「空文字("")」を指定する。 ' 設定や取得では「空文字」ではなく「null」を指定することも可能だが、 ' 削除では「空文字」しか指定できないので、空文字の使用をお勧めする。 'Dim rSetValueName As String = "" ' 設定する値のデータ Dim location As String = "RegistryData" ' REG_SZ型 'Dim location As Integer = 100 ' REG_DWORD^ 'Dim location As Byte() = {1, 2, 3, 4, 5, 6} ' REG_BINARY型 'Dim location As String() = {"RegistryData", "TestData"} ' REG_MULTI_SZ型 ' レジストリの設定と削除 Try ' レジストリ・キーを書き込みモードで開く 'Dim rKey As RegistryKey = Registry.LocalMachine.OpenSubKey(rKeyName, True) ' レジストリ・キーを新規作成して開く Dim rKey As RegistryKey = Registry.LocalMachine.CreateSubKey(rKeyName) ' レジストリの値を設定(すべてのデータ型を) rKey.SetValue(rSetValueName, location) ' 削除の例 'rKey.DeleteValue(rSetValueName) ' 第2パラメータにfalseを指定すると、削除する値がなくても例外が発生しない 'rKey.DeleteValue(rSetValueName, False) ' 開いたレジストリを閉じる rKey.Close() ' 設定したレジストリの値をコンソールに表示 Console.WriteLine(location) ' レジストリ・キーを削除する(キー下にサブキーが存在する場合はエラーになる) 'Registry.LocalMachine.DeleteSubKey(rKeyName) ' 第2パラメータにfalseを指定すると、削除するキーがなくても例外が発生しない 'Registry.LocalMachine.DeleteSubKey(rKeyName, False) ' レジストリ・キー(サブキーも含めて)を削除する 'Registry.LocalMachine.DeleteSubKeyTree(rKeyName) Catch ex As Exception ' レジストリ・キーが存在しない Console.WriteLine(ex.Message) End Try End Sub End Module