Самый корректный ответ, о котором я могу думать, Int32.MaxValue
.
Я почти уверен, что это зависит от производителя, поскольку доступ к ним будет осуществляться через порт ввода-вывода. Если у вас есть конкретная плата, с которой вы пытаетесь работать, попробуйте просмотреть руководства и / или связаться с производителем.
Если вы хотите сделать это для большого количества разных плат, я бы порекомендовал связаться с кем-нибудь в чем-нибудь например SiSoftware, или будьте готовы прочитать МНОГО руководств по материнским платам.
Еще одно примечание: не все платы имеют мониторы температуры.
Вы также можете столкнуться с проблемами при получении привилегированного доступа из ядра.
Есть сообщение в блоге с некоторым примером кода C # о том, как это сделать здесь .
Я знаю, что это старое сообщение, но просто хотел добавить комментарий, если кто-то должен просмотреть этот пост и попытаться найти решение этой проблемы.
Вы действительно можете очень легко узнать температуру процессора в C #, используя подход WMI.
Чтобы получить значение Цельсия, я создал оболочку, которая преобразует значение, возвращаемое WMI, и превращает его в простой в использовании объект.
Не забудьте добавить ссылку на System.Management.dll
в Visual Studio.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Management;
namespace RCoding.Common.Diagnostics.SystemInfo
{
public class Temperature
{
public double CurrentValue { get; set; }
public string InstanceName { get; set; }
public static List<Temperature> Temperatures
{
get
{
List<Temperature> result = new List<Temperature>();
ManagementObjectSearcher searcher = new ManagementObjectSearcher(@"root\WMI", "SELECT * FROM MSAcpi_ThermalZoneTemperature");
foreach (ManagementObject obj in searcher.Get())
{
Double temp = Convert.ToDouble(obj["CurrentTemperature"].ToString());
temp = (temp - 2732) / 10.0;
result.Add(new Temperature { CurrentValue = temp, InstanceName = obj["InstanceName"].ToString() });
}
return result;
}
}
}
}
Обновление 25.06.2010:
(Только что видел, что была размещена ссылка на такое же решение выше ... В любом случае, я оставлю этот фрагмент кода, если кто-то захочет его использовать :-))