private static RegistryKey AbreSubChave(enuChaveRegistro Chave, string SubChave) { RegistryKey RegChave = null; switch (Chave) { case enuChaveRegistro.ClassesRoot: RegChave = Registry.ClassesRoot.OpenSubKey(SubChave, true); break; case enuChaveRegistro.CurrentUser: RegChave = Registry.CurrentUser.OpenSubKey(SubChave, true); break; case enuChaveRegistro.LocalMachine: RegChave = Registry.LocalMachine.OpenSubKey(SubChave, true); break; case enuChaveRegistro.Users: RegChave = Registry.Users.OpenSubKey(SubChave, true); break; case enuChaveRegistro.CurrentConfig: RegChave = Registry.CurrentConfig.OpenSubKey(SubChave, true); break; } return(RegChave); }
public static Hashtable RegBusca(enuChaveRegistro Chave, string SubChave, string NomeCampo) { RegistryKey RegChave = AbreSubChave(Chave, SubChave); Hashtable Retorno = new Hashtable(); Retorno.Add(NomeCampo, RegChave.GetValue(NomeCampo)); return(Retorno); }
private static RegistryKey CriaSubChave(enuChaveRegistro Chave, string SubChave) { RegistryKey RegChave = null; string UsuarioLogado = Environment.UserDomainName + "\\" + Environment.UserName; RegistrySecurity SegurancaUsuario = new RegistrySecurity(); RegistryAccessRule RegraUsuario = new RegistryAccessRule(UsuarioLogado, RegistryRights.FullControl, AccessControlType.Allow); SegurancaUsuario.AddAccessRule(RegraUsuario); string[] Chaves = SubChave.Split(new Char[] { '\\' }); string SubChaveConcat = ""; foreach (string SubChaveItem in Chaves) { if (SubChaveConcat.Length == 0) { SubChaveConcat = SubChaveConcat + SubChaveItem; } else { SubChaveConcat = SubChaveConcat + "\\" + SubChaveItem; } RegChave = AbreSubChave(Chave, SubChaveConcat); if (RegChave == null) { switch (Chave) { case enuChaveRegistro.ClassesRoot: RegChave = Registry.ClassesRoot.CreateSubKey(SubChaveConcat, RegistryKeyPermissionCheck.ReadWriteSubTree, SegurancaUsuario); break; case enuChaveRegistro.CurrentUser: RegChave = Registry.CurrentUser.CreateSubKey(SubChaveConcat, RegistryKeyPermissionCheck.ReadWriteSubTree, SegurancaUsuario); break; case enuChaveRegistro.LocalMachine: RegChave = Registry.LocalMachine.CreateSubKey(SubChaveConcat, RegistryKeyPermissionCheck.ReadWriteSubTree, SegurancaUsuario); break; case enuChaveRegistro.Users: RegChave = Registry.Users.CreateSubKey(SubChaveConcat, RegistryKeyPermissionCheck.ReadWriteSubTree, SegurancaUsuario); break; case enuChaveRegistro.CurrentConfig: RegChave = Registry.CurrentConfig.CreateSubKey(SubChaveConcat, RegistryKeyPermissionCheck.ReadWriteSubTree, SegurancaUsuario); break; } } RegChave.SetAccessControl(SegurancaUsuario); } return(RegChave); }
public static void RegSalva(enuChaveRegistro Chave, string SubChave, Hashtable Valores) { RegistryKey RegChave = AbreSubChave(Chave, SubChave); if (RegChave == null) { RegChave = CriaSubChave(Chave, SubChave); } foreach (string HashKey in Valores.Keys) { RegChave.SetValue(HashKey, Valores[HashKey]); } }
public static Hashtable RegBusca(enuChaveRegistro Chave, string SubChave) { RegistryKey RegChave = AbreSubChave(Chave, SubChave); Hashtable Retorno = new Hashtable(); if (RegChave != null) { string[] NomeCampos = RegChave.GetValueNames(); foreach (string Nome in NomeCampos) { Retorno.Add(Nome, RegChave.GetValue(Nome)); } RegChave.Close(); } return(Retorno); }