Получение температуры процессора с помощью C#
Я пытаюсь восстановить температуру процессора компьютера. Я разместил свой код ниже. Может ли кто-нибудь сказать мне, в чем моя проблема?
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Management; namespace SServer.Common.Diagnostics.SystemInfo { public class Temperature { public double CurrentValue { get; set; } public string InstanceName { get; set; } public static List<string> Temperatures { get { List<string> result = new List<string>(); ManagementObjectSearcher searcher = new ManagementObjectSearcher(@"root\CIMV2", "SELECT * FROM Win32_TemperatureProbe"); foreach (ManagementObject obj in searcher.Get()) { if (obj != null) { Double temp = Convert.ToDouble(obj["CurrentTemperature"].ToString()); temp = (temp - 2732) / 10.0; result.Add(new Temperature { CurrentValue = temp, InstanceName = obj["CurrentTemperature"].ToString() }.ToString()); } } return result; } } } }
[no name]
Какая проблема?
Christopher Smit
Двойная температура = преобразование.ToDouble(obj["CurrentTemperature"].Метод toString());
В этой строке указывается следующим исключением.
Исключение ManagementException было необработано - не найдено
Richard MacCutchan
Выглядит как obj["CurrentTemperature"]
не существует.