Beispiel #1
0
 public void Load(IPluginSensorsContainer _container)
 {
     foreach (var source in _hWInfo?.SensorsSource)
     {
         foreach (var sensor in source.Sensors)
         {
             AddSensorToContainer(_container, source, sensor);
         }
     }
 }
Beispiel #2
0
        private static void AddSensorToContainer(IPluginSensorsContainer _container, HWInfo.HWInfoSensorSource source, HWInfo.HWInfoSensor sensor)
        {
            var sensorElement = sensor.GetUpdatedElement();
            var pluginSensor  = new HWInfoPluginSensor(source.Sensor.szSensorNameUser, sensor.GetUpdatedElement);

            if (sensorElement.szUnit == "RPM")
            {
                _container.FanSensors.Add(pluginSensor);
            }
            else if (sensorElement.szUnit == "°C")
            {
                _container.TempSensors.Add(pluginSensor);
            }
        }
Beispiel #3
0
        void IPlugin.Load(IPluginSensorsContainer _container)
        {
            Dictionary <int, Sensor> sensors = new Dictionary <int, Sensor>();

            using (RegistryKey key = Registry.CurrentUser.OpenSubKey("SOFTWARE\\HWiNFO64\\VSB"))
            {
                if (key != null)
                {
                    foreach (string valueName in key.GetValueNames())
                    {
                        string resultString = Regex.Match(valueName, @"\d+").Value;
                        int    number       = int.Parse(resultString);

                        if (!sensors.ContainsKey(number))
                        {
                            sensors[number] = new Sensor();
                        }

                        if (valueName.StartsWith("Sensor"))
                        {
                            sensors[number].SensorName = key.GetValue(valueName).ToString();
                        }
                        else if (valueName.StartsWith("Label"))
                        {
                            sensors[number].SensorLabel = key.GetValue(valueName).ToString();
                        }
                        else if (valueName.StartsWith("ValueRaw"))
                        {
                            sensors[number].RegistryValueName = valueName;
                        }
                        else if (valueName.StartsWith("Value"))
                        {
                            sensors[number].Unit = Regex.Match(key.GetValue(valueName).ToString(), @"[^0-9. ]+").Value;
                        }
                    }
                }
            }
            foreach (int sensornumber in sensors.Keys)
            {
                if (sensors[sensornumber].Unit.Equals("°C"))
                {
                    _container.TempSensors.Add(new HWInfoRegPluginSensor(sensors[sensornumber].SensorName + sensors[sensornumber].SensorLabel, GenerateId(sensors[sensornumber].SensorName, sensors[sensornumber].SensorLabel), sensors[sensornumber].RegistryValueName));
                }
                else if (sensors[sensornumber].Unit.Equals("RPM"))
                {
                    _container.FanSensors.Add(new HWInfoRegPluginSensor(sensors[sensornumber].SensorName + sensors[sensornumber].SensorLabel, GenerateId(sensors[sensornumber].SensorName, sensors[sensornumber].SensorLabel), sensors[sensornumber].RegistryValueName));
                }
            }
        }
Beispiel #4
0
 public void Load(IPluginSensorsContainer _container)
 {
     _container.TempSensors.AddRange(sensors);
 }