示例#1
0
        public OpenHardwareTest()
        {
            var x = new Computer();

            x.CPUEnabled           = true;
            x.MainboardEnabled     = true;
            x.FanControllerEnabled = true;
            x.GPUEnabled           = true;
            x.HDDEnabled           = true;
            x.RAMEnabled           = true;
            x.Open();
            var report = x.GetReport();

            var tempString = "";
            var y          = new OpenHardwareMonitor.Hardware.SensorVisitor(sensor =>
            {
                var z = sensor;
                if (sensor.SensorType == SensorType.Temperature)
                {
                    tempString += $"{sensor.Name} temp: {sensor.Value}{Environment.NewLine}";
                }
            });

            x.Traverse(y);
        }
示例#2
0
    private bool OpenExistingLogFile() {
      if (!File.Exists(fileName))
        return false;

      try {
        String line;
        using (StreamReader reader = new StreamReader(fileName)) 
          line = reader.ReadLine(); 
       
        if (string.IsNullOrEmpty(line))
          return false;
        
        identifiers = line.Split(',').Skip(1).ToArray();
      } catch {
        identifiers = null;
        return false;
      }

      if (identifiers.Length == 0) {
        identifiers = null;
        return false;
      }

      sensors = new ISensor[identifiers.Length];
      SensorVisitor visitor = new SensorVisitor(sensor => {
        for (int i = 0; i < identifiers.Length; i++)
          if (sensor.Identifier.ToString() == identifiers[i])
            sensors[i] = sensor;
      });
      visitor.VisitComputer(computer);
      return true;
    }
示例#3
0
    private void CreateNewLogFile() {
      IList<ISensor> list = new List<ISensor>();
      SensorVisitor visitor = new SensorVisitor(sensor => {
        list.Add(sensor);
      });
      visitor.VisitComputer(computer);
      sensors = list.ToArray();
      identifiers = sensors.Select(s => s.Identifier.ToString()).ToArray();

      using (StreamWriter writer = new StreamWriter(fileName, false)) {
        writer.Write(",");
        for (int i = 0; i < sensors.Length; i++) {
          writer.Write(sensors[i].Identifier);
          if (i < sensors.Length - 1)
            writer.Write(",");
          else
            writer.WriteLine();
        }

        writer.Write("Time,");
        for (int i = 0; i < sensors.Length; i++) {
          writer.Write('"');
          writer.Write(sensors[i].Name);
          writer.Write('"');
          if (i < sensors.Length - 1)
            writer.Write(",");
          else
            writer.WriteLine();
        }
      }
    }