Csharp/C Sharp/Windows/Registry Permission

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

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());
  }
}