Пример #1
0
        /// <summary>
        /// Internal method to get and save the registry value entry
        /// </summary>
        /// <param name="rootRegKey"></param>
        /// <param name="keyValue"></param>
        private void ReadRegistryValue(RegistryKey rootRegKey, ModelRegistryKeyValue keyValue)
        {
            object objValue = rootRegKey.GetValue(keyValue.Name);

            if (objValue == null)
            {
                logger.Warn(keyValue.Name + " not found in registry");
                keyValue.AddLog(ExceptionLevel.WARN, keyValue.Name + " not found in registry");
            }
            else
            {
                keyValue.ParseAndSetValue(objValue, rootRegKey.GetValueKind(keyValue.Name));
            }
        }
Пример #2
0
 /// <summary>
 /// Read the windows registry for only one path entry
 /// </summary>
 /// <param name="regPathQuery"></param>
 protected void ReadRegistryValues(ModelRegistryKey regPathQuery)
 {
     // Get the registryKey instance
     using (RegistryKey rootRegKey = InitializeRegistryKey(regPathQuery.RegsitryPath.RootPath, regPathQuery.RegsitryPath.SubKeyPath, RegistryView.Registry32))
     {
         // Add only those values requested for
         if (this.QueryFilter.ProcQueryEnum.DoAddAllValues() == false)
         {
             foreach (ModelRegistryKeyValue keyValue in regPathQuery.KeyValuePairs)
             {
                 ReadRegistryValue(rootRegKey, keyValue);
             }
         }
         else
         {
             // Add all the values
             foreach (string valueName in rootRegKey.GetValueNames())
             {
                 ModelRegistryKeyValue keyValue = regPathQuery.GetValueObject(valueName);
                 ReadRegistryValue(rootRegKey, keyValue);
             }
         }
     }
 }