如何以整数值获取 NVIDIA 核心温度
本文关键字:NVIDIA 核心 温度 获取 整数 | 更新日期: 2023-09-27 17:56:50
我正在上Arduino微控制器课程,我正在做我的最后一个项目:一个根据外壳温度工作的自动计算机冷却系统。
我無法使用以下來源獲得我的 NVIDIA GPU 核心溫度:此 MSDN 連結或此 NVIDIA 連結。如何获取 GPU 的温度值?
我在 C# 方面的知识是基本的,我无法从该手册或 MSDN 中的代码示例中分辨出正面。
在长时间搜索如何做到这一点之后,我将继续回答我自己的问题,我找到了获取数据的方法。
使用OpenHardwareMonitor.dll从他们的开源链接中,我能够获得我需要的东西。
这是我在 Windows c# 应用程序中使用的代码(它可能不是最好的方法,但它可以完成工作。
希望有人觉得这有帮助:
using OpenHardwareMonitor.Hardware;
...
public partial class mainWindow : Form
{
Computer myComputer;
public mainWindow()
{
InitializeComponent();
myComputer = new Computer();
myComputer.Open();
myComputer.GPUEnabled = true;
myComputer.CPUEnabled = true;
foreach (var hardwareItem in myComputer.Hardware)
{
if (hardwareItem.HardwareType == HardwareType.GpuNvidia)
{
foreach (var sensor in hardwareItem.Sensors)
{
if (sensor.SensorType == SensorType.Temperature)
{
GPUtemp.Text = String.Format(sensor.Value + "°C");
}
}
}
if (hardwareItem.HardwareType == HardwareType.CPU)
{
foreach (var sensor in hardwareItem.Sensors)
{
if (sensor.SensorType == SensorType.Temperature)
{
CPUtemp.Text = String.Format(sensor.Value + "°C");
}
}
}
}
}
private void valueRefresh_Tick(object sender, EventArgs e)
{
myComputer = new Computer();
myComputer.Open();
myComputer.GPUEnabled = true;
myComputer.CPUEnabled = true;
foreach (var hardwareItem in myComputer.Hardware)
{
if (hardwareItem.HardwareType == HardwareType.GpuNvidia)
{
foreach (var sensor in hardwareItem.Sensors)
{
if (sensor.SensorType == SensorType.Temperature)
{
GPUtemp.Text = String.Format(sensor.Value.ToString()); // write the value to a lable on the form
}
}
}
if (hardwareItem.HardwareType == HardwareType.CPU)
{
foreach (var sensor in hardwareItem.Sensors)
{
if (sensor.SensorType == SensorType.Temperature)
{
CPUtemp.Text = String.Format(sensor.Value.ToString()); // write the value to a lable on the form
}
}
}
}
}
}