Подтвердить что ты не робот

Мониторинг температуры процессора

Для проекта программирования я хотел бы получить доступ к показаниям температуры с моего процессора и графических процессоров. Я буду использовать С#. На разных форумах создается впечатление, что для доступа к этой информации для разных плат требуется определенная информация и ресурсы разработчиков. У меня есть плата MSI NF750-G55. На веб-сайте MSI нет никакой информации, которую я ищу. Я попробовал их техническую поддержку, и представитель, с которым я говорил, заявил, что у них нет такой информации. Должен быть способ получить эту информацию.

Любые мысли?

4b9b3361

Ответ 1

По крайней мере, на стороне процессора, вы можете использовать WMI.

Пространство имен\объект root\WMI, MSAcpi_ThermalZoneTemperature

Пример кода:

ManagementObjectSearcher searcher = 
    new ManagementObjectSearcher("root\\WMI",
                                 "SELECT * FROM MSAcpi_ThermalZoneTemperature");

ManagementObjectCollection collection = 
    searcher.Get();

foreach(ManagementBaseObject tempObject in collection)
{
    Console.WriteLine(tempObject["CurrentTemperature"].ToString());
}

Это даст вам температуру в необработанном формате. Вам нужно перейти оттуда:

kelvin = raw / 10;

celsius = (raw / 10) - 273.15;

fahrenheit = ((raw / 10) - 273.15) * 9 / 5 + 32;

Ответ 2

На самом деле лучший способ сделать любое кодирование, связанное с оборудованием, используя WMI лучше всего использовать с помощью этого инструмента WMI Code Creator от Microsoft инструмент создаст для вас код на основе того, что вы ищете, и какого языка .Net вы хотите использовать.

В настоящее время поддерживаются langauges: С#, Visual Basic, VB Script.