RegistryKeyクラスを使います。
使い方は値を取得する方とほぼ同じです。
DeleteSubKey関数を使いますが
削除したいサブキーがさらにサブキーを含む階層の場合、これは失敗します。
サブキーを含むサブキーを階層もろとも削除したい場合は
DeleteSubKeyTree関数を使います。
using Microsoft.Win32; を忘れずに
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using Microsoft.Win32; // これを追加 namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { // HKEY_CURRENT_USER\Software\hogehogeサブキーを削除するサンプルです RegistryKey key = Registry.CurrentUser; // キーを開く key = key.OpenSubKey(@"Software", true); // サブキーを指定して削除(削除するサブキーにさらにサブキーがある場合は失敗します) //key.DeleteSubKey("hogehoge"); // サブキーを含むサブキーを削除したい場合はこちら key.DeleteSubKeyTree("hogehoge"); // 最後は閉じます(このタイミングでフラッシュされるので忘れずに) key.Close(); } } }