Как получить температуру GPU и материнской платы с помощью Open Hardware Monitor?
Я пытаюсь измерить температуру процессора, графического процессора и материнской платы, используя код Open Hardware Monitor. Я наткнулся на действительно полезную страницу, которая очень хорошо объясняла и дала мне именно тот результат, который мне нужен, но только для температуры процессора. Вот ссылка: https://www.instructables.com/id/Using-Open-Hardware-Monitor-to-Get-CPU-Temperature/
Это именно тот тип учебника, который мне нужен, но для температуры GPU и материнской платы. До сих пор я пытался сделать следующее (он вернул пустую строку для обоих):
public string getGraphicsTemp()
{
UpdateVisitor updateVisitor = new UpdateVisitor();
Computer computer = new Computer();
computer.Open();
computer.GPUEnabled = true;
computer.Accept(updateVisitor);
string res = "";
for (int i = 0; i < computer.Hardware.Length; i++)
{
if (computer.Hardware[i].HardwareType == HardwareType.GpuAti)
{
for (int j = 0; j < computer.Hardware[i].Sensors.Length; j++)
{
if (computer.Hardware[i].Sensors[j].SensorType == SensorType.Temperature) res = String.Concat(res, (computer.Hardware[i].Sensors[j].Name + ": " + computer.Hardware[i].Sensors[j].Value.ToString() + "ºC" + "\r"));
}
}
}
computer.Close();
return res;
}
public string getMotherboardTemp()
{
UpdateVisitor updateVisitor = new UpdateVisitor();
Computer computer = new Computer();
computer.Open();
computer.MainboardEnabled= true;
computer.Accept(updateVisitor);
string res = "";
for (int i = 0; i < computer.Hardware.Length; i++)
{
if (computer.Hardware[i].HardwareType == HardwareType.Mainboard)
{
for (int j = 0; j < computer.Hardware[i].Sensors.Length; j++)
{
if (computer.Hardware[i].Sensors[j].SensorType == SensorType.Temperature) res = String.Concat(res, (computer.Hardware[i].Sensors[j].Name + ": " + computer.Hardware[i].Sensors[j].Value.ToString() + "ºC" + "\r"));
}
}
}
computer.Close();
return res;
}
Кроме того, вот код для части процессора, которая пока единственная, которая работает:
public string getCPUTemp()
{
UpdateVisitor updateVisitor = new UpdateVisitor();
Computer computer = new Computer();
computer.Open();
computer.CPUEnabled = true;
computer.Accept(updateVisitor);
string res = "";
for (int i = 0; i < computer.Hardware.Length; i++)
{
if (computer.Hardware[i].HardwareType == HardwareType.CPU)
{
for (int j = 0; j < computer.Hardware[i].Sensors.Length; j++)
{
if (computer.Hardware[i].Sensors[j].SensorType == SensorType.Temperature) res = String.Concat(res, (computer.Hardware[i].Sensors[j].Name + ": " + computer.Hardware[i].Sensors[j].Value.ToString() + "ºC" + "\r"));
}
}
}
computer.Close();
return res;
}
Спасибо заранее, если кто-нибудь может решить это.