form1で私がした:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Management;
using OpenHardwareMonitor.Hardware;
namespace NvidiaTemp
{
public partial class Form1 : Form
{
Computer computer = new Computer();
public Form1()
{
InitializeComponent();
computer.Open();
var temps = new List<decimal>();
foreach (var hardware in computer.Hardware)
{
if (hardware.HardwareType != HardwareType.CPU)
continue;
hardware.Update();
foreach (var sensor in hardware.Sensors)
{
if (sensor.SensorType != SensorType.Temperature)
{
if (sensor.Value != null)
temps.Add((decimal)sensor.Value);
}
}
}
foreach (decimal temp in temps)
{
Console.WriteLine(temp);
MessageBox.Show(temp.ToString());
}
Console.ReadLine();
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
}
その上にforeachジャンプすることは決してありません。非常に多くのサンプルを試してみましたが、どのように機能するのかわかりません。そして、元のopenhardwaremonitorプログラムを実行している場合、温度や速度などのすべてのパラメーターを監視しているため、ビデオカードがそれをサポートしていることを確認してください...
プログラムの公式 Web サイトから openhwardwaremonitor.dll ファイルをダウンロードしました。
http://openhardwaremonitor.org/downloads/ dll は、プログラム自体のディレクトリにあります。