C#
C#: С помощью каких библиотек/модулей можно узнать температуру ЦП, ГПУ, частоту и тд...
В каких библиотеках или модулей C# есть способы получения информации о температуре процессора, ядер, видеокарты, частоты и тд?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Management;
namespace CPUTemperature
{
public struct Temperature
{
public readonly bool Active;
public readonly uint[] ActiveTripPoint;
public readonly uint ActiveTripPointCount;
public readonly uint CriticalTripPointRaw;
public readonly uint CurrentTemperatureRaw;
public readonly string InstanceName;
public Temperature(bool active, uint[] activeTripPoint, uint activeTripPointCount, uint criticalTripPointRaw, uint currentTemperatureRaw, string instanceName) : this()
{
Active = active;
ActiveTripPoint = activeTripPoint;
ActiveTripPointCount = activeTripPointCount;
CriticalTripPointRaw = criticalTripPointRaw;
CurrentTemperatureRaw = currentTemperatureRaw;
InstanceName = instanceName;
}
public double CriticalTripPoint
{
get { return CriticalTripPointRaw*0.1 - 273.15; }
}
public double CurrentTemperature
{
get { return CurrentTemperatureRaw*0.1 - 273.15; }
}
public static IEnumerable Instances
{
get
{
var searcher = new ManagementObjectSearcher(@"root\WMI", "SELECT * FROM MSAcpi_ThermalZoneTemperature");
return from ManagementObject obj in searcher.Get()
select new Temperature((bool) obj["Active"], (uint[]) obj["ActiveTripPoint"], (uint) obj["ActiveTripPointCount"],
(uint) obj["CriticalTripPoint"], (uint) obj["CurrentTemperature"], (string) obj["InstanceName"]);
}
}
public override string ToString()
{
return string.Format("Active: {0}, ActiveTripPoint: [{1}], ActiveTripPointCount: {2}, InstanceName: {3}, CriticalTripPoint: {4}, CurrentTemperature: {5}",
Active, string.Join(", ", ActiveTripPoint), ActiveTripPointCount, InstanceName,
CriticalTripPoint, CurrentTemperature);
}
}
class MyClass
{
static void Main(string[] args)
{
foreach (var temperature in Temperature.Instances)
{
Console.WriteLine(temperature);
Console.WriteLine();
}
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Management;
namespace CPUTemperature
{
public struct Temperature
{
public readonly bool Active;
public readonly uint[] ActiveTripPoint;
public readonly uint ActiveTripPointCount;
public readonly uint CriticalTripPointRaw;
public readonly uint CurrentTemperatureRaw;
public readonly string InstanceName;
public Temperature(bool active, uint[] activeTripPoint, uint activeTripPointCount, uint criticalTripPointRaw, uint currentTemperatureRaw, string instanceName) : this()
{
Active = active;
ActiveTripPoint = activeTripPoint;
ActiveTripPointCount = activeTripPointCount;
CriticalTripPointRaw = criticalTripPointRaw;
CurrentTemperatureRaw = currentTemperatureRaw;
InstanceName = instanceName;
}
public double CriticalTripPoint
{
get { return CriticalTripPointRaw*0.1 - 273.15; }
}
public double CurrentTemperature
{
get { return CurrentTemperatureRaw*0.1 - 273.15; }
}
public static IEnumerable Instances
{
get
{
var searcher = new ManagementObjectSearcher(@"root\WMI", "SELECT * FROM MSAcpi_ThermalZoneTemperature");
return from ManagementObject obj in searcher.Get()
select new Temperature((bool) obj["Active"], (uint[]) obj["ActiveTripPoint"], (uint) obj["ActiveTripPointCount"],
(uint) obj["CriticalTripPoint"], (uint) obj["CurrentTemperature"], (string) obj["InstanceName"]);
}
}
public override string ToString()
{
return string.Format("Active: {0}, ActiveTripPoint: [{1}], ActiveTripPointCount: {2}, InstanceName: {3}, CriticalTripPoint: {4}, CurrentTemperature: {5}",
Active, string.Join(", ", ActiveTripPoint), ActiveTripPointCount, InstanceName,
CriticalTripPoint, CurrentTemperature);
}
}
class MyClass
{
static void Main(string[] args)
{
foreach (var temperature in Temperature.Instances)
{
Console.WriteLine(temperature);
Console.WriteLine();
}
}
}
}
В библиотеке System.Management.
Только там надо запросы делать уметь, это уже отдельная наука.
Только там надо запросы делать уметь, это уже отдельная наука.
Ну это вам в сторону CUDA копать нужно.
Геннадий Карпов
При чем тут CUDA и частота работы процессора?
Fps monitor
Олег Дмитриев
Я спросил про C#
Похожие вопросы
- Задача массивы c# , прошу помощи...
- (c#) Нужна помощь в работе со строками. (лучше если будет не само решение, а объяснение, спасибо)
- Помогите решить задачу C#! С помощью switch case.
- Нужна помощь с задачей C#
- C# winforms Как выполнять какие либо действия на client с помощью сокетов ?
- Стоит ли дальше учить C#?
- Нужна помощь с языком C#
- Программирование на C Sharp (C#)
- Сегодня начал учить c#, решил сделать калькулятор простой и столкнулся с такой ошибкой при компиляции, хелпуйте.
- Что лучше C# или C++?