sc 3 weeks ago
parent
commit
003037f94a
  1. 3
      DyeingComputer.csproj
  2. 30
      ViewModel/MainWindowViewModel.cs

3
DyeingComputer.csproj

@ -81,9 +81,6 @@
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="OpenHardwareMonitorLib">
<HintPath>DLL\OpenHardwareMonitorLib.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Data" />

30
ViewModel/MainWindowViewModel.cs

@ -9,7 +9,6 @@ using Microsoft.Win32;
using Newtonsoft.Json.Linq;
using NModbus;
using NModbus.Serial;
using OpenHardwareMonitor.Hardware;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
@ -212,15 +211,7 @@ namespace DyeingComputer.ViewModel
set { program_Name = value; OnPropertyChanged("Program_Name"); }
}
// 创建 Computer 实例并启用需要的硬件监控
Computer computer = new Computer
{
CPUEnabled = true, // 启用 CPU 监控
GPUEnabled = true, // 启用 GPU 监控
HDDEnabled = true, // 启用硬盘监控
RAMEnabled = true, // 启用内存监控(注意:大多数内存模块无温度传感器:cite[1])
MainboardEnabled = true // 启用主板监控
};
public MainWindowViewModel()
{
SYSKEY = MD5check.MD5Encrypt16(HardwareSN.GetCPUSerialNumber()+HardwareSN.GetBIOSSerialNumber());
@ -723,24 +714,7 @@ namespace DyeingComputer.ViewModel
void Tick_Event_60S()//Tick_Event周期执行事件5S
{
if(Hardware.Count>0) Hardware.Clear();
computer.Open(); // 开始监控
// 遍历所有硬件设备及其传感器,筛选出温度传感器并读取值
foreach (var hardwareItem in computer.Hardware)
{
hardwareItem.Update(); // 更新硬件信息:cite[2]
foreach (var sensor in hardwareItem.Sensors)
{
// if (sensor.SensorType == SensorType.Temperature && sensor.Value.HasValue)
{
//Console.WriteLine($"{hardwareItem.Name} - {sensor.Name}: {sensor.Value.Value}°C");
// 实际应用中,你可能需要将这里的数据绑定到UI控件或存储起来
// Hardware.Add(sensor.Name+":"+sensor.SensorType, sensor.Value.Value);
}
}
}
computer.Close(); // 结束监控:cite[1]
}
void DisTimer_500MS(object sender, EventArgs e)//Tick_Event周期执行事件200MS
{

Loading…
Cancel
Save