0/5 (4 avis)
Snippet vu 12 839 fois - Téléchargée 29 fois
using System; using System.Collections.Specialized; using Microsoft.Win32; namespace RegistryManagerNS { /// <summary> /// RegistryManager Class /// /// Load and save all the parameters in the registry /// </summary> public class RegistryManager { #region Attributs private static RegistryManager _instance = null; private RegistryKey regKeyProduct = null; private const string PRODUCT_NAME = "Nom de l application"; private const string MANUFACTURER_NAME = "Nom de l editeur"; private NameValueCollection _configurationParameters; #endregion #region Public Properties public NameValueCollection Parameters { get{ return _configurationParameters; } } /// <summary> /// Design Pattern Singleton /// </summary> public static RegistryManager Instance { get { if (_instance == null) _instance = new RegistryManager(); return (_instance); } } #endregion #region Construtor private RegistryManager() { RegistryKey regKeySoftware = Registry.LocalMachine.OpenSubKey("SOFTWARE"); RegistryKey regKeyManufacturer = regKeySoftware.OpenSubKey(MANUFACTURER_NAME, true); if (regKeyManufacturer == null) { regKeyManufacturer = regKeySoftware.CreateSubKey(MANUFACTURER_NAME); } regKeyProduct = regKeyManufacturer.OpenSubKey(PRODUCT_NAME, true); if (regKeyProduct == null) { regKeyProduct = regKeyManufacturer.CreateSubKey(PRODUCT_NAME); } _configurationParameters = new NameValueCollection(); LoadRegistry(); } #endregion #region Public methods public void LoadRegistry() { this._configurationParameters.Clear(); foreach (string valueName in regKeyProduct.GetValueNames()) { _configurationParameters.Add(valueName, (string)regKeyProduct.GetValue(valueName)); } } public void SaveRegistry() { foreach (string key in _configurationParameters.Keys) { regKeyProduct.SetValue(key, _configurationParameters.Get(key)); } } #endregion } }
2 mai 2007 à 11:06
RegistryKey regKeySoftware = Registry.LocalMachine.OpenSubKey("SOFTWARE" , true);
13 sept. 2004 à 15:26
13 sept. 2004 à 10:11
j'ai un problème avec ton code... lors du premier appel à "Instance" (les clés n'existent pas encore dans la bdr), la fonction "regKeyManufacturer = regKeySoftware.CreateSubKey(MANUFACTURER_NAME);" me retourne une erreur (System.UnauthorizedAccessException) alors que je suis administrateur sur ma machine ! (XP Pro) quelqu'un aurait-il la solution ?
15 juin 2004 à 10:42
public void LoadRegistry()
{
this._configurationParameters.Clear();
foreach (string valueName in regKeyProduct.GetValueNames())
{
_configurationParameters.Add(valueName, (string)regKeyProduct.GetValue(valueName));
}
}
c kan il a fini le foreach
jai ce message "Additional information: Specified cast is not valid."
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.