Csharp/C Sharp/Windows/Registry Permission
Demand Permission with a Structured Error Handler
using System;
using Microsoft.Win32;
using System.Security.Permissions;
class Class1
{
static void Main(string[] args)
{
try
{
RegistryPermission regPermission = new RegistryPermission(RegistryPermissionAccess.AllAccess,"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion");
regPermission.Demand();
} catch (Exception e) {
Console.WriteLine(e.Message);
return;
}
RegistryKey myRegKey=Registry.LocalMachine;
myRegKey=myRegKey.OpenSubKey ("SOFTWARE\\Microsoft\\WindowsNT\\CurrentVersion");
try
{
Object oValue=myRegKey.GetValue("RegisteredOwner");
Console.WriteLine("OS Registered Owner: {0}",oValue.ToString());
}
catch (NullReferenceException)
{
Console.WriteLine("NullReferenceException");
}
}
}
Deny Permissions You Don"t Want to Access
using System;
using Microsoft.Win32;
using System.Security.Permissions;
class Class1 {
static void Main(string[] args) {
RegistryPermission regPermission = new RegistryPermission(RegistryPermissionAccess.AllAccess,"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion");
regPermission.Deny();
RegistryKey myRegKey=Registry.LocalMachine;
myRegKey=myRegKey.OpenSubKey ("SOFTWARE\\Microsoft\\WindowsNT\\CurrentVersion");
Object oValue=myRegKey.GetValue("RegisteredOwner");
Console.WriteLine("OS Registered Owner: {0}",oValue.ToString());
}
}