using System;
using Microsoft.Win32;
using System.Security;
using System.Security.Permissions;
namespace RegKeys
{
class Class1
{
static void Main(string[] args)
{
RegistryKey rk = Registry.CurrentUser;
Console.WriteLine("There are {0} subkeys under {1}.",
rk.SubKeyCount.ToString(), rk.Name);
try
{
rk.CreateSubKey("TestKey");
Console.WriteLine("There are {0} subkeys under {1}.",
rk.SubKeyCount.ToString(), rk.Name);
}
catch
{
Console.WriteLine("Fehler CreateSubKey.");
}
try
{
rk = rk.OpenSubKey("TestKey", true);//);
Console.WriteLine("\n ... Registry Pfad: {0}", rk.Name);
Console.WriteLine("\t values:");
foreach(string valueName in rk.GetValueNames())
{
Console.WriteLine("\t {0,-8}: {1}", valueName,
rk.GetValue(valueName).ToString());
}
rk.SetValue("TestEintrag","TestValue");
Console.WriteLine("\t new value is set:");
foreach(string valueName in rk.GetValueNames())
{
Console.WriteLine("\t {0,-8}: {1}", valueName,
rk.GetValue(valueName).ToString());
}
rk.DeleteValue("TestEintrag");
Console.WriteLine("\t Value is deleted:");
foreach(string valueName in rk.GetValueNames())
{
Console.WriteLine("\t {0,-8}: {1}", valueName,
rk.GetValue(valueName).ToString());
}
}
catch(ArgumentNullException e)
{
Console.WriteLine("Fehler ArgumentNullException");
}
catch(ArgumentException e)
{
Console.WriteLine("Fehler ArgumentException");
}
catch(ObjectDisposedException e)
{
Console.WriteLine("Fehler ObjectDisposedException");
}
catch(UnauthorizedAccessException e)
{
Console.WriteLine("Fehler UnauthorizedAccessException");
}
catch(SecurityException e)
{
Console.WriteLine("Fehler SecurityException");
}
rk = Registry.CurrentUser;
try
{
rk.DeleteSubKey("TestKey");
Console.WriteLine("\nThere are {0} subkeys under {1}.",
rk.SubKeyCount.ToString(), rk.Name);
}
catch
{
Console.WriteLine("Fehler DeleteSubKey.");
}
foreach(string subKeyName in rk.GetSubKeyNames())
{
Console.WriteLine("{0}", subKeyName);
}
Console.WriteLine("\n...done... ");
Console.ReadLine();
}
}
}