チュートリアル: レジストリ キーの作成とその値の変更 (Visual Basic)
このチュートリアルでは、ユーザーがキーを作成および削除できるように、コンピューター上のレジストリ キーに移動するアプリケーションを作成する方法を示します。また、値の読み取り、取得、設定および削除を行う方法も示します。
メイン フォームを作成するには
[ファイル] メニューの [新しいプロジェクト] を選択し、[Windows アプリケーション] をクリックします。
Value という名前の TextBox をフォームに追加します。 右下隅の [プロパティ] ウィンドウの [(オブジェクト名)] フィールドに、値を入力します。
History という名前の ListBox をフォームに追加します。 右下隅の [プロパティ] ウィンドウの [(オブジェクト名)] フィールドに、「History」と入力します。
追加の変数を作成し、クラスの宣言の直後に追加します。
Dim tempKey As Microsoft.Win32.RegistryKey
ComboBox のレジストリ キーを参照するには
レジストリ ハイブを表示して選択できる、selectHive という名前のComboBox をフォームに追加します。 次のコードをフォームの読み込みイベントに追加して、生成します。
selectHive.Items.Add("ClassesRoot") selectHive.Items.Add("CurentConfig") selectHive.Items.Add("CurrentUser") selectHive.Items.Add("LocalMachine") selectHive.Items.Add("PerformanceData") selectHive.Items.Add("Users")
クラスの宣言の後に次のコードをアタッチします。
Dim registryObject As Microsoft.Win32.RegistryKey = Nothing
selectHive SelectedIndexChanged イベントに次のコードを追加します。
Select Case selectHive.Text Case "ClassesRoot" registryObject = My.Computer.Registry.ClassesRoot Case "CurrentConfig" registryObject = My.Computer.Registry.CurrentConfig Case "CurrentUser" registryObject = My.Computer.Registry.CurrentUser Case "LocalMachine" registryObject = My.Computer.Registry.LocalMachine Case "PerformanceData" registryObject = My.Computer.Registry.PerformanceData Case "Users" registryObject = My.Computer.Registry.Users End Select
レジストリ キーの値を読み取るには
"値の読み取り" のテキストを指定した、ReadValueButton という名前の Button をフォームに追加します。
"サブキーの入力" のテキストを指定した、showSubKey という名前の TextBox をフォームに追加します。
ReadValueButton Click イベントに次のコードを追加します。
tempKey = registryObject If tempKey Is Nothing Then MsgBox("Please select a registry hive.") Return End If Value.Text = CStr(tempKey.GetValue(ShowSubKey.Text)) History.Items.Add("Read Value " & selectHive.Text & "\" & ShowSubKey.Text)
既存のサブキーの名前を showSubKey テキスト ボックスに入力し、アプリケーションをテストします。 ReadValueButton をクリックすると、[値] テキスト ボックスに値が表示されます。
レジストリキーに値を設定するには
"値の設定" のテキストを指定した、SetValueButton という名前のボタンをフォームに追加します。
Click イベントに次のコードを追加します。
tempKey = registryObject If tempKey Is Nothing Then MsgBox("Please select a registry hive.") Return End If If Value.Text Is Nothing Then MsgBox("Please enter a value.") Return End If tempKey.SetValue(showSubKey.Text, Value.Text) tempKey.Close() History.Items.Add("Set Value " & selectHive.Text & "\" & showSubKey.Text)
[値] テキスト ボックスにサブキーの新しい値を入力し、ReadValueButton という名前のボタンによって値が変更されたことを確認して、アプリケーションをテストします。
レジストリ キーを作成するには
"キーの作成" のテキストを指定した、CreateButton という名前のボタンをフォームに追加します。
Click イベントに次のコードを追加します。
registryObject.CreateSubKey(showSubKey.Text) History.Items.Add("Create Key " & selectHive.Text & "\" & showSubKey.Text)
新しいキー名を [showSubKey] テキスト ボックスに入力し、キーが作成されたことをレジストリ エディターを使用して確認して、アプリケーションをテストします。
レジストリ キーを削除するには
"キーの削除" のテキストを指定した、DeleteButton という名前のボタンをフォームに追加します。
Click イベントに次のコードを追加します。
tempKey = registryObject If tempKey Is Nothing Then MsgBox("Please select a registry hive.") Return End If If showSubKey.Text Is Nothing Then MsgBox("Please enter a subkey.") Return End If registryObject.DeleteSubKey(showSubKey.Text) History.Items.Add("Delete Key " & selectHive.Text & "\" & showSubKey.Text)
サブキーを削除し、キーが削除されたことをレジストリ エディターを使用して確認して、コードをテストします。
参照
処理手順
トラブルシューティング: レジストリの操作 (Visual Basic)