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);
}
}
}
}