Exemple #1
0
        /// <summary>
        /// Deletes a registry key from the registry
        /// </summary>
        /// <param name="folder">The folder path in the registry</param>
        /// <param name="valueName">The name of the value to delete</param>
        protected void RegDeleteValue(eWURegKeys folder, string valueName)
        {
            if (!_AllowWrite)
            {
                throw new Exception("Write is not allowed in this mode!");
            }

            // If the key exists
            if (RegGetValue(folder, valueName, null) != null)
            {
                switch (folder)
                {
                case eWURegKeys.HKLM_WU:
                    Microsoft.Win32.Registry.LocalMachine.OpenSubKey(HKLM_WU).DeleteValue(valueName);
                    break;

                case eWURegKeys.HKLM_WUAU:
                    Microsoft.Win32.Registry.LocalMachine.OpenSubKey(HKLM_WUAU).DeleteValue(valueName);
                    break;

                default:
                    throw new NotSupportedException();
                }
            }
        }
        /// <summary>
        /// Gets the name of the reg key.
        /// </summary>
        /// <param name="RegFolder">The reg folder.</param>
        /// <returns>Name as String</returns>
        private static string getRegKeyName(eWURegKeys RegFolder)
        {
            string key = "";

            switch (RegFolder)
            {
            case eWURegKeys.HKLM_WU:
                key = HKLM_WU; break;

            case eWURegKeys.HKLM_WUAU:
                key = HKLM_WUAU; break;

            default: throw new NotSupportedException();
            }
            return(key);
        }
        /// <summary>
        /// set the value in reg
        /// </summary>
        /// <param name="folder">Reg Folder</param>
        /// <param name="Name">value name</param>
        /// <param name="Value">The value</param>
        /// <param name="ValueKind">Kind of the value.</param>
        protected void RegSetValue(eWURegKeys folder, string Name, object Value, Microsoft.Win32.RegistryValueKind ValueKind)
        {
            if (!_AllowWrite)
            {
                throw new Exception("Write is not allowed in this mode!");
            }
            string key = "";

            switch (folder)
            {
            case eWURegKeys.HKLM_WU:
                key = HKLM_WU; break;

            case eWURegKeys.HKLM_WUAU:
                key = HKLM_WUAU; break;

            default: throw new NotSupportedException();
            }
            Microsoft.Win32.Registry.SetValue(key, Name, Value);
        }
        /// <summary>
        /// get value from reg
        /// </summary>
        /// <param name="folder">The reg folder</param>
        /// <param name="Name">value name</param>
        /// <param name="Default">default value</param>
        /// <returns></returns>
        protected object RegGetValue(eWURegKeys folder, string Name, object Default)
        {
            string key = "";

            switch (folder)
            {
            case eWURegKeys.HKLM_WU:
                key = HKLM_WU; break;

            case eWURegKeys.HKLM_WUAU:
                key = HKLM_WUAU; break;

            default: throw new NotSupportedException();
            }
            //if(Microsoft.Win32.Registry.get
            object retVal = Microsoft.Win32.Registry.GetValue(key, Name, Default);

            if (retVal == null)
            {
                retVal = Default;
            }
            return(retVal);
        }
 /// <summary>
 /// set the value in reg
 /// </summary>
 /// <param name="folder">Reg Folder</param>
 /// <param name="Name">value name</param>
 /// <param name="Value">The value</param>
 protected void RegSetValue(eWURegKeys folder, string Name, string Value)
 {
     RegSetValue(folder, Name, Value, Microsoft.Win32.RegistryValueKind.String);
 }
 /// <summary>
 /// get value from reg as string
 /// </summary>
 /// <param name="folder">The reg folder</param>
 /// <param name="Name">value name</param>
 /// <returns></returns>
 protected string RegGetValue(eWURegKeys folder, string Name)
 {
     return(RegGetValue(folder, Name, "").ToString());
 }