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

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

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

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

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

引用–>添加引用—>浏览(选择文件)–>确定
在这里插入图片描述
2. 添加头文件

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

  1. 添加相关代码,我这边就将整个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);}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/592243.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

回顾2023,展望2024

又是一年起始,在这里回顾一下过去,展望一下未来。今年已经是自己的本命年了,龙行龘龘,希望在自己的本位年能够有更多的努力和更多的收获。 关于工作 在无锡工作已经一个完整的年份了,工作上平平稳稳,也适应…

梯度下降法

前言:在均方差损失函数推导中,我使用到了梯度下降法来优化模型,即迭代优化线性模型中的和。现在进一步了解梯度下降法的含义以及具体用法。 一、梯度下降法(入门级理解) 定义:梯度下降是一种用于最小化损失函数的优化…

Python爬取今日头条热门文章

前言 今日头条文章收益是没有任何门槛,只要是你发布文章,每篇文章的阅读量超过1000就能有收益,阅读量越多收益越高。于是乎我就有了个大胆的想法。何不利用Python爬虫,爬取热门文章,然后完成自动化发布文章呢&#xf…

专访 | STIF2023第四届国际科创节访第七在线CEO赵嘉程

12月15日,在STIF2023第四届国际科创节暨数服会上,第七在线获得年度数智化创新典范奖,第七在线CEO赵嘉程在颁奖典礼现场接受了媒体专访。 主持人:赵总,您好,欢迎您接受我们的专访,首先我们特别想…

二、Redis的特性与应用场景

Redis是一个在内存中存储数据的中间件,主要用于作为数据库、数据缓存,在分布式系统中有着非常重要的地位。面试中可以围绕Redis的特性进行介绍。 一、Redis特性 1、在内存中存储数据 MySQL主要是“表”的方式来存储组织数据的,是“关系型数…

杰发科技AC7840——Eclipse环境DMA注意事项

0.序 用 户 使 用 DMA 时 , 所 有 DMA 搬 运 的 SRAM 数 据 都 必 须 存 放 在 SRAM_U 区 (0x20000000~0x2000EFFF) 。 1. 修改办法 第一步: RAM定义 /* Specify the memory areas */ MEMORY {FLASH (rx) : ORIGIN 0x00000000, LENGT…

dyld: Library not loaded: /usr/lib/swift/libswiftCoreGraphics.dylib

更新Xcode14后低版本iPhone调试报错 dyld: Library not loaded: /usr/lib/swift/libswiftCoreGraphics.dylib Referenced from: /var/containers/Bundle/Application/…/….app/… Reason: image not found 这是缺少libswiftCoreGraphics库 直接导入libswiftCoreGraphics库即…

【新手小白的xsslab靶场学习】

第1关 最开始页面源代码 直接输入<script>alert(1)</script> 第2关 页面源代码 先尝试<script>alert(1)</script>看页面源代码 <h2>里面尖括号被编码&#xff0c;<input>里面没有编码,直接双引号闭合&#xff0c; 修改payload&…

STM32F407-14.3.10-表73具有有断路功能的互补通道OCx和OCxN的输出控制位-01x00

如上表所示&#xff0c;MOE0&#xff0c;OSSI1&#xff0c;CCxE0&#xff0c;CCxNE0时&#xff0c;OCx与OCxN的输出状态取决于GPIO端口上下拉状态。 ---------------------------------------------------------------------------------------------------------------------…

elasticsearch-curator: es索引生命周期(关闭、删除索引)

1&#xff0c;下载安装 rpm包下载安装 # 防止安装rpm包报错&#xff1a;error: [upel]: elasticsearch-curator NOKEY &#xff1b; # error: [upel]: elasticsearch-curator signature check fail rpm --import https://artifacts.elastic.co/GPG-KEY-ela…

基于RetinaFace+Jetson Nano的智能门锁系统——第二篇(配置环境)

文章目录 设备一、安装远程登录终端Xshell1.1下载Xshell1.2新建回话1.3查询ip地址1.4启动连接 二、安装远程文件管理WinScp2.1下载WinScp2.2连接Jetson Nano2.3连接成功 三、安装远程桌面VNC Viewer3.1下载VNC Viewer3.2在Jetson Nano安装VNC Viewer3.3设置VINO登录选项3.4将网…

单片机原理及应用:计数按键控制数码管显示

承接上文&#xff0c;我们来介绍一下按键和数码管的配合工作&#xff0c;由于数码管显示的字符和位数多种多样&#xff0c;无法做到一个字符对应一个按键&#xff0c;所以程序主要记录按键的使用次数来切换数码管的显示。 #include <reg52.h> //包含reg52.h头…

opencv003图像裁剪(应用NumPy矩阵的切片)

这一部分相对于马上要学习的二值化是要更更更简单一些的&#xff0c;只需三行&#xff0c;便能在opencv上裁剪图像啦&#xff08;顺便云吸猫&#xff0c;太可爱了&#xff01;&#xff09; 出处见水印&#xff01; 1、复习图像的显示 前几天期末考试&#xff0c;太久没有看…

第28关 k8s监控实战之Prometheus(一)

------> 课程视频同步分享在今日头条和B站 大家好&#xff0c;我是博哥爱运维。对于运维开发人员来说&#xff0c;不管是哪个平台服务&#xff0c;监控都是非常关键重要的。 在传统服务里面&#xff0c;我们通常会到zabbix、open-falcon、netdata来做服务的监控&#xff0…

error C2666: “Date::operator ==”: 重载函数具有类似的转换

error C2666: “Date::operator ”: 重载函数具有类似的转换 1.错误描述2.解决方案 1.错误描述 class Date { public:Date(int year 2024, int month 1, int day 1){_year year;_month month;_day day;}bool operator(const Date& d){return _year d._year&&…

接入第三方登录

1.进行认证 https://graph.qq.com/oauth2.0/authorize?response_typecode&client_id[YOUR_APPID]&redirect_uri[YOUR_REDIRECT_URI]&scope[THE_SCOPE] https://graph.qq.com/oauth2.0/show?whichLogin&displaypc&client_id101284669&redirect_urih…

认识SpringBoot项目中的Starter

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 循序渐进学SpringBoot ✨特色专栏&…

流量预测_MLP模型_keras

目录 0、我在干什么&#xff1f;1、import libararies2、加载数据load data3、独家观察数据函数 :heartbeat:4、数据预处理pre-processing&#xff08;1&#xff09;将时间戳转换为一个日期时间索引&#xff08;2&#xff09;填充所有缺失的值&#xff08;3&#xff09;将时间序…

ElasticSearch的DSL查询语法解析

Elasticsearch提供了基于ISON的DSL (Domain Specific Lanquage)来定义查询。 目录 一、常见查询类型 二、DSLQuery基本语法 三、全文检索查询 3.1 match查询&#xff1a;会对用户输入内容分词&#xff0c;常用于搜索框搜索 &#xff0c;语法&#xff1a; 3.2 multi match…

UI自动化Selenium ActionChains鼠标(动作链)

我们在实现UI自动化过程中&#xff0c;有时会遇到鼠标模拟操作&#xff0c;如鼠标悬停后&#xff0c;菜单划出&#xff1b;鼠标按下后&#xff0c;下拉展开&#xff1b;单击、双击、拖动等等&#xff1b;但我们常常对鼠标的单击和双击比较了解&#xff08;click和doubleclick&a…