public void Load(IPluginSensorsContainer _container) { foreach (var source in _hWInfo?.SensorsSource) { foreach (var sensor in source.Sensors) { AddSensorToContainer(_container, source, sensor); } } }
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); } }
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)); } } }
public void Load(IPluginSensorsContainer _container) { _container.TempSensors.AddRange(sensors); }