チュートリアル: レジストリ キーの作成とその値の変更 (Visual Basic)

このチュートリアルでは、ユーザーがキーを作成および削除できるように、コンピューター上のレジストリ キーに移動するアプリケーションを作成する方法を示します。また、値の読み取り、取得、設定および削除を行う方法も示します。

メイン フォームを作成するには

  1. [ファイル] メニューの [新しいプロジェクト] を選択し、[Windows アプリケーション] をクリックします。

  2. Value という名前の TextBox をフォームに追加します。 右下隅の [プロパティ] ウィンドウの [(オブジェクト名)] フィールドに、値を入力します。

  3. History という名前の ListBox をフォームに追加します。 右下隅の [プロパティ] ウィンドウの [(オブジェクト名)] フィールドに、「History」と入力します。

  4. 追加の変数を作成し、クラスの宣言の直後に追加します。

    Dim tempKey As Microsoft.Win32.RegistryKey
    

ComboBox のレジストリ キーを参照するには

  1. レジストリ ハイブを表示して選択できる、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")
    
  2. クラスの宣言の後に次のコードをアタッチします。

    Dim registryObject As Microsoft.Win32.RegistryKey = Nothing
    
  3. 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
    

レジストリ キーの値を読み取るには

  1. "値の読み取り" のテキストを指定した、ReadValueButton という名前の Button をフォームに追加します。

  2. "サブキーの入力" のテキストを指定した、showSubKey という名前の TextBox をフォームに追加します。

  3. 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)
    
  4. 既存のサブキーの名前を showSubKey テキスト ボックスに入力し、アプリケーションをテストします。 ReadValueButton をクリックすると、[値] テキスト ボックスに値が表示されます。

レジストリキーに値を設定するには

  1. "値の設定" のテキストを指定した、SetValueButton という名前のボタンをフォームに追加します。

  2. 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)
    
  3. [値] テキスト ボックスにサブキーの新しい値を入力し、ReadValueButton という名前のボタンによって値が変更されたことを確認して、アプリケーションをテストします。

レジストリ キーを作成するには

  1. "キーの作成" のテキストを指定した、CreateButton という名前のボタンをフォームに追加します。

  2. Click イベントに次のコードを追加します。

    registryObject.CreateSubKey(showSubKey.Text)
    History.Items.Add("Create Key " & selectHive.Text & 
                      "\" & showSubKey.Text)
    
  3. 新しいキー名を [showSubKey] テキスト ボックスに入力し、キーが作成されたことをレジストリ エディターを使用して確認して、アプリケーションをテストします。

レジストリ キーを削除するには

  1. "キーの削除" のテキストを指定した、DeleteButton という名前のボタンをフォームに追加します。

  2. 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)
    
  3. サブキーを削除し、キーが削除されたことをレジストリ エディターを使用して確認して、コードをテストします。

参照

処理手順

トラブルシューティング: レジストリの操作 (Visual Basic)

概念

一般的なレジストリ タスク (Visual Basic)

セキュリティとレジストリ (Visual Basic)

My を使用したレジストリからの読み取りとレジストリへの書き込み (Visual Basic)

Microsoft.Win32 名前空間を使用したレジストリの読み取りと書き込み (Visual Basic)