using System; using Microsoft.Win32; namespace ConsoleApplication1 { /// /// Class1 の概要の説明です。 /// class Class1 { /// /// アプリケーションのメイン エントリ ポイントです。 /// [STAThread] static void Main(string[] args) { // 操作するレジストリ・キーの名前 string rKeyName = @"SOFTWARE\Insider.NET\.NET TIPS"; // 設定処理を行う対象となるレジストリの値の名前 string rSetValueName = "TestValue"; // 「(既定値)」の設定/取得/削除を行うには「空文字("")」を指定する。 // 設定や取得では「空文字」ではなく「null」を指定することも可能だが、 // 削除では「空文字」しか指定できないので、空文字の使用をお勧めする。 //string rSetValueName = ""; // 設定する値のデータ string location = "RegistryData"; // REG_SZ型 //int location = 100; // REG_DWORD型 //byte[] location = {1,2,3,4,5,6}; // REG_BINARY型 //string[] location = {"RegistryData","TestData"}; // REG_MULTI_SZ型 // レジストリの設定と削除 try { // レジストリ・キーを書き込みモードで開く RegistryKey rKey = Registry.LocalMachine.OpenSubKey(rKeyName, true); // レジストリ・キーを新規作成して開く //RegistryKey rKey = 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 (Exception ex) { // レジストリ・キーが存在しない Console.WriteLine(ex.Message); } } } }