本文整理汇总了C#中System.Security.Permissions.RegistryPermission类的典型用法代码示例。如果您正苦于以下问题:C# RegistryPermission类的具体用法?C# RegistryPermission怎么用?C# RegistryPermission使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
RegistryPermission类属于System.Security.Permissions命名空间,在下文中一共展示了RegistryPermission类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetIsRegistryAvailable
/// <summary>
/// Checks to see if Registry access is available to the caller
///
/// </summary>
///
/// <returns/>
public bool GetIsRegistryAvailable()
{
PermissionSet permissionSet = new PermissionSet(PermissionState.None);
RegistryPermission registryPermission = new RegistryPermission(PermissionState.Unrestricted);
permissionSet.AddPermission((IPermission) registryPermission);
return permissionSet.IsSubsetOf(AppDomain.CurrentDomain.PermissionSet);
}
示例2: RegistryReadr
//Read Registry
public string RegistryReadr(string subKey,string keyName)
{
try
{
RegistryPermission regeditPermission = new RegistryPermission(RegistryPermissionAccess.Read, System.IO.Path.Combine(Registry.CurrentUser.ToString(), System.IO.Path.Combine(ProcestaVariables.Variables.REGISTRY_PATH, subKey)));
regeditPermission.Demand();
RegistryKey regeditRead = Registry.CurrentUser;
regeditRead = regeditRead.OpenSubKey(System.IO.Path.Combine(ProcestaVariables.Variables.REGISTRY_PATH, subKey));
if (regeditRead != null)
{
if ((regeditRead.GetValue(keyName)).GetType().Equals(typeof(Int32)))
{
return regeditRead.GetValue(keyName).ToString();
}
else
{
return (string)regeditRead.GetValue(keyName);
}
}
else
{
RegistryWriter(subKey,keyName,string.Empty,RegistryValueKind.String);
RegistryReadr(subKey, keyName);
return null;
}
}
catch (Exception)
{
MessageBox.Show(ProcestaVariables.Variables.ERROR_MESSAGES[0,4], ProcestaVariables.Variables.ERROR_MESSAGES[0,0], MessageBoxButtons.OK, MessageBoxIcon.Error);
return null;
}
}
示例3: DemandLocalMachineAccess
/// <summary>
/// Call this function before creating the RegistryUtils class in order to make sure that
/// you (the caller) will have permissions to access the class.
/// </summary>
/// <param name="subKey">
/// The sub key to demand permissions for.
/// </param>
public static void DemandLocalMachineAccess(string subKey)
{
// Create permission objects for the registry keys we're about to use.
RegistryPermission readPermissions = new RegistryPermission(RegistryPermissionAccess.Read, @"HKEY_LOCAL_MACHINE\" + subKey);
// Now force this function to throw a SecurityException if we don't already have these permissions.
readPermissions.Demand();
}
示例4: CheckSecurity
private void CheckSecurity()
{
//check registry permissions
RegistryPermission regPerm;
regPerm = new RegistryPermission(RegistryPermissionAccess.Write, "HKEY_CLASSES_ROOT\\" + MenuName);
regPerm.AddPathList(RegistryPermissionAccess.Write, "HKEY_CLASSES_ROOT\\" + Command);
regPerm.Demand();
}
示例5: OpenOrCreateCompanyKey
public static RegistryKey OpenOrCreateCompanyKey(this RegistryKey source)
{
RegistryPermission f = new RegistryPermission(RegistryPermissionAccess.AllAccess, "HKEY_LOCAL_MACHINE\\SOFTWARE");
RegistryKey keySoftware = source.OpenOrCreateKey("SOFTWARE");
AssemblyCompanyAttribute companyAttribute = System.Reflection.Assembly.GetEntryAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute)).FirstOrDefault() as AssemblyCompanyAttribute;
RegistryKey keyCompany = keySoftware.OpenOrCreateKey(companyAttribute.Company);
return keyCompany;
}
示例6: DemandCurrentUserAccess
/// <summary>
/// Call this function before creating the RegistryUtils class in order to make sure that
/// you (the caller) will have permissions to access the class.
/// </summary>
/// <param name="subKey">
/// The sub key to demand permissions for.
/// </param>
public static void DemandCurrentUserAccess(string subKey)
{
// Create permission objects for the registry keys we're about to use.
RegistryPermission fullPermissions = new RegistryPermission(RegistryPermissionAccess.AllAccess, @"HKEY_CURRENT_USER\" + subKey);
// Now force this function to throw a SecurityException if we don't already have these permissions.
fullPermissions.Demand();
}
示例7: WebTransform
/// <summary>
/// Creates a new WebTransform.
/// </summary>
public WebTransform()
{
//[IsolatedStorageFilePermissionAttribute(SecurityAction.Demand, Unrestricted=true)]
FileIOPermission filePerm = new FileIOPermission(PermissionState.None);
RegistryPermission regPerm = new RegistryPermission(PermissionState.None);
filePerm.Demand();
regPerm.Demand();
}
示例8: PermissionStateUnrestricted
public void PermissionStateUnrestricted ()
{
RegistryPermission ep = new RegistryPermission (PermissionState.Unrestricted);
Assert.IsNotNull (ep, "RegistryPermission(PermissionState.Unrestricted)");
Assert.IsTrue (ep.IsUnrestricted (), "IsUnrestricted");
RegistryPermission copy = (RegistryPermission)ep.Copy ();
Assert.AreEqual (ep.IsUnrestricted (), copy.IsUnrestricted (), "Copy.IsUnrestricted");
SecurityElement se = ep.ToXml ();
Assert.AreEqual ("true", se.Attribute ("Unrestricted"), "ToXml-Unrestricted");
}
示例9: PermissionStateUnrestricted
public void PermissionStateUnrestricted ()
{
RegistryPermission ep = new RegistryPermission (PermissionState.Unrestricted);
AssertNotNull ("RegistryPermission(PermissionState.Unrestricted)", ep);
Assert ("IsUnrestricted", ep.IsUnrestricted ());
RegistryPermission copy = (RegistryPermission)ep.Copy ();
AssertEquals ("Copy.IsUnrestricted", ep.IsUnrestricted (), copy.IsUnrestricted ());
SecurityElement se = ep.ToXml ();
AssertEquals ("ToXml-Unrestricted", "true", se.Attribute ("Unrestricted"));
}
示例10: GravaValor
/// <summary>
/// Grava um par chave valor no registro do windows
/// </summary>
/// <param name="chave">chave usada para identificar o objeto</param>
/// <param name="valor">valor a ser guardado</param>
public static void GravaValor(string chave, string valor)
{
var perm1 = new RegistryPermission(RegistryPermissionAccess.Write, Key);
if (perm1.CanWriteKey(Key))
{
GravaValor(Key, chave, valor);
}
}
示例11: Demand
/// <summary>
/// Call this function before creating the RegistryUtils class in order to make sure that
/// you (the caller) will have permissions to access the class.
/// </summary>
public static void Demand()
{
// Create permission objects for the registry keys we're about to use.
string fullRegistryPath = @"HKEY_CURRENT_USER\Software\Microsoft\" + ApplicationAcronym;
RegistryPermission fullPermissions =
new RegistryPermission(RegistryPermissionAccess.AllAccess, fullRegistryPath);
// Now force this function to throw a SecurityException if we don't already have these permissions.
fullPermissions.Demand();
}
示例12: _UnsafeGetAssertPermSet
internal static PermissionSet _UnsafeGetAssertPermSet()
{
PermissionSet set = new PermissionSet(PermissionState.None);
RegistryPermission perm = new RegistryPermission(PermissionState.Unrestricted);
set.AddPermission(perm);
EnvironmentPermission permission2 = new EnvironmentPermission(PermissionState.Unrestricted);
set.AddPermission(permission2);
SecurityPermission permission3 = new SecurityPermission(SecurityPermissionFlag.UnmanagedCode);
set.AddPermission(permission3);
return set;
}
示例13: PermissionStateNone
public void PermissionStateNone ()
{
RegistryPermission ep = new RegistryPermission (PermissionState.None);
AssertNotNull ("RegistryPermission(PermissionState.None)", ep);
Assert ("IsUnrestricted", !ep.IsUnrestricted ());
RegistryPermission copy = (RegistryPermission)ep.Copy ();
AssertEquals ("Copy.IsUnrestricted", ep.IsUnrestricted (), copy.IsUnrestricted ());
SecurityElement se = ep.ToXml ();
Assert ("ToXml-class", se.Attribute ("class").StartsWith (className));
AssertEquals ("ToXml-version", "1", se.Attribute ("version"));
}
示例14: PermissionStateNone
public void PermissionStateNone ()
{
RegistryPermission ep = new RegistryPermission (PermissionState.None);
Assert.IsNotNull (ep, "RegistryPermission(PermissionState.None)");
Assert.IsTrue (!ep.IsUnrestricted (), "IsUnrestricted");
RegistryPermission copy = (RegistryPermission)ep.Copy ();
Assert.AreEqual (ep.IsUnrestricted (), copy.IsUnrestricted (), "Copy.IsUnrestricted");
SecurityElement se = ep.ToXml ();
Assert.IsTrue (se.Attribute ("class").StartsWith (className), "ToXml-class");
Assert.AreEqual ("1", se.Attribute ("version"), "ToXml-version");
}
示例15: CanReadKey
public static bool CanReadKey(this RegistryPermission reg, string key)
{
try
{
RegistryPermission r = new RegistryPermission(RegistryPermissionAccess.Read, key);
r.Demand();
return true;
}
catch (SecurityException)
{
return false;
}
}