1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
public enum eBANK_REG { CLASS_ROOT, CURRENT_CONFIG, CURRENT_USER, LOCAL_MACHINE, USERS };
private string key;
public bool Write(eBANK_REG bank, string SubKey, string ValueName, string Value)
{
bool ret = true;
RegistryKey rk = null;
string sKey = string.Concat(key + @"\", SubKey);
try
{
switch (bank)
{
case eBANK_REG.CLASS_ROOT:
rk = Registry.ClassesRoot.OpenSubKey(sKey, true);
break;
case eBANK_REG.CURRENT_CONFIG:
rk = Registry.CurrentConfig.OpenSubKey(sKey, true);
break;
case eBANK_REG.CURRENT_USER:
rk = Registry.CurrentUser.OpenSubKey(sKey, true);
break;
case eBANK_REG.LOCAL_MACHINE:
rk = Registry.LocalMachine.OpenSubKey(sKey, true);
break;
case eBANK_REG.USERS:
rk = Registry.Users.OpenSubKey(sKey, true);
break;
default:
break;
}
try
{
rk.SetValue(ValueName, Value);
}
catch (Exception e)
{ return false; }
}
catch { return false; }
return ret;
}
public string Read(eBANK_REG bank, string SubKey, string ValueName)
{
string ret;
RegistryKey rk = null;
string sKey = string.Concat(key + @"\", SubKey);
try
{
switch (bank)
{
case eBANK_REG.CLASS_ROOT:
rk = Registry.ClassesRoot.OpenSubKey(sKey);
break;
case eBANK_REG.CURRENT_CONFIG:
rk = Registry.CurrentConfig.OpenSubKey(sKey);
break;
case eBANK_REG.CURRENT_USER:
rk = Registry.CurrentUser.OpenSubKey(sKey);
break;
case eBANK_REG.LOCAL_MACHINE:
rk = Registry.LocalMachine.OpenSubKey(sKey);
break;
case eBANK_REG.USERS:
rk = Registry.Users.OpenSubKey(sKey);
break;
default:
break;
}
try
{
ret = (string)rk.GetValue(ValueName, string.Empty);
}
catch { return string.Empty; }
}
catch {return string.Empty;}
return ret;
}
public reg(string Key)
{
// autorisation d'acces en lecture et écriture à la Registry
RegistryPermission f = new RegistryPermission(RegistryPermissionAccess.AllAccess, Key);
f.Assert();
this.key = Key;
} |
Partager