Csharp/C Sharp/Windows/Registry Permission

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

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>