Как узнать температуру процессора?C#

Место общения программистов C#
Anonymous
Как узнать температуру процессора?

Сообщение Anonymous »

Мне нужно собрать некоторую системную информацию для приложения, которое я разрабатываю. Доступную память и загрузку процессора легко получить с помощью C#. К сожалению, с температурой процессора все не так просто. Я пробовал использовать WMI, но ничего не смог получить, используя
Win32_TemperatureProbe

или
MSAcpi_ThermalZoneTemperature

Как это сделать? Мне интересно, как программы мониторинга, такие как SiSoftware Sandra, могут получить эту информацию...
Вот код класса:
public class SystemInformation
{
private System.Diagnostics.PerformanceCounter m_memoryCounter;
private System.Diagnostics.PerformanceCounter m_CPUCounter;

public SystemInformation()
{
m_memoryCounter = new System.Diagnostics.PerformanceCounter();
m_memoryCounter.CategoryName = "Memory";
m_memoryCounter.CounterName = "Available MBytes";

m_CPUCounter = new System.Diagnostics.PerformanceCounter();
m_CPUCounter.CategoryName = "Processor";
m_CPUCounter.CounterName = "% Processor Time";
m_CPUCounter.InstanceName = "_Total";
}

public float GetAvailableMemory()
{
return m_memoryCounter.NextValue();
}

public float GetCPULoad()
{
return m_CPUCounter.NextValue();
}

public float GetCPUTemperature()
{
//...
return 0;
}
}


Подробнее здесь: https://stackoverflow.com/questions/119 ... emperature

Вернуться в «C#»