レジストリ登録、更新、削除
C#を使用してレジストリに登録、更新、削除を行うクラスを作成するには、Microsoft.Win32 名前空間の Registry クラスを使用します。以下は、基本的な操作を行うクラスの例です。
using Microsoft.Win32;
public class RegistryManager
{
// レジストリキーを作成または更新するメソッド
public static void SetRegistryValue(string keyName, string valueName, object value)
{
using (var registryKey = Registry.CurrentUser.CreateSubKey(keyName))
{
if (registryKey != null)
{
registryKey.SetValue(valueName, value);
}
}
}
// レジストリキーから値を取得するメソッド
public static object GetRegistryValue(string keyName, string valueName, object defaultValue = null)
{
using (var registryKey = Registry.CurrentUser.OpenSubKey(keyName))
{
if (registryKey != null)
{
return registryKey.GetValue(valueName, defaultValue);
}
else
{
return defaultValue;
}
}
}
// レジストリキーと値を削除するメソッド
public static void DeleteRegistryValue(string keyName, string valueName)
{
using (var registryKey = Registry.CurrentUser.OpenSubKey(keyName, true))
{
if (registryKey != null)
{
registryKey.DeleteValue(valueName);
}
}
}
}
このクラスは、SetRegistryValue メソッドでレジストリにキーと値を設定し、GetRegistryValue メソッドで値を取得し、DeleteRegistryValue メソッドで値を削除することができます。
// レジストリに値を設定
RegistryManager.SetRegistryValue("Software\\MyApp", "MySetting", "Hello, Registry!");
// レジストリから値を取得
object value = RegistryManager.GetRegistryValue("Software\\MyApp", "MySetting");
if (value != null)
{
Console.WriteLine("Registry Value: " + value.ToString());
}
else
{
Console.WriteLine("Value not found in the registry.");
}
// レジストリから値を削除
RegistryManager.DeleteRegistryValue("Software\\MyApp", "MySetting");