主页 > 人工智能  > 

C#使用OpenHardwareMonitor获取CPU或显卡温度、使用率、时钟频率相关方式

C#使用OpenHardwareMonitor获取CPU或显卡温度、使用率、时钟频率相关方式

C# 去获取电脑相关的基础信息,还是需要借助 外部的库,我这边尝试了自己去实现它

网上有一些信息,但不太完整,都比较零碎,这边尽量将代码完整的去展示出来

OpenHardwareMonitor获取CPU的温度和频率需要管理员权限 在没有开权限的时候就是无法使用

首先添加相关应用的dll文件

引用–>添加引用—>浏览(选择文件)–>确定 2. 添加头文件

using System.IO; using OpenHardwareMonitor.Hardware; using System.Threading;

添加相关代码,我这边就将整个form的代码贴上来了,这样也方便查看

代码中注释掉的部分是循环显示的一个循环逻辑

代码的功能可以将主板的名称显示出来,还有将第一个CPU的情况显示,可以根据实际情况进行修改。

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Diagnostics; using System.IO; using OpenHardwareMonitor.Hardware; using System.Threading; namespace cpuGpu { public partial class Form1 : Form { public class UpdateVisitor : IVisitor { public void VisitComputer(IComputer computer) { computer.Traverse(this); } public void VisitHardware(IHardware hardware) { hardware.Update(); foreach (IHardware subHardware in hardware.SubHardware) subHardware.Accept(this); } public void VisitSensor(ISensor sensor) { } public void VisitParameter(IParameter parameter) { } } public Form1() { InitializeComponent(); } private void button2_Click(object sender, EventArgs e) { UpdateVisitor updateVisitor = new UpdateVisitor(); Computer myComputer = new Computer(); myComputer.Open(); //启动主板监测 myComputer.MainboardEnabled = true; //启动CPU监测 myComputer.CPUEnabled = true; //启动内存监测 myComputer.RAMEnabled = true; //启动GPU监测 myComputer.GPUEnabled = true; //启动风扇监测 myComputer.FanControllerEnabled = true; //启动硬盘监测 myComputer.HDDEnabled = true; do { myComputer.Accept(updateVisitor); Console.Clear(); //foreach (var hardwareItem in myComputer.Hardware) //{ // Console.WriteLine(hardwareItem.HardwareType + "型号是:" + hardwareItem.Name); // foreach (var sensor in hardwareItem.Sensors) // { // Console.WriteLine(sensor.Name + "的" + sensor.SensorType + "是" + sensor.Value); // } //} string BroadName = myComputer.Hardware[0].Name.ToString(); string CPUdata = myComputer.Hardware[1].Sensors[0].Value.ToString(); System.Threading.Thread.Sleep(1000); } while (true); } } }
标签:

C#使用OpenHardwareMonitor获取CPU或显卡温度、使用率、时钟频率相关方式由讯客互联人工智能栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“C#使用OpenHardwareMonitor获取CPU或显卡温度、使用率、时钟频率相关方式