Csharp/C Sharp/Windows/Registry Permission
Demand Permission with a Structured Error Handler
<source lang="csharp"> 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"); } }
}
</source>
Deny Permissions You Don"t Want to Access
<source lang="csharp"> 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()); }
}
</source>