问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c#如何获取硬件的温度

发布网友 发布时间:2022-04-21 00:17

我来回答

5个回答

热心网友 时间:2023-10-07 04:20

1、通过读WMI的方式
这种方式主要是读MSAcpi_ThermalZoneTemperature,但是这个值不同的资料却有不同的说法,有的说是CPU温度,有的说是主板温度,而且试验了一下,这个值在我机器上一直是40,所以认为不准。
2、 DTS方式
这个是当前觉的最靠谱的方法。具体见几个收藏链接。这种方式的重要地方在于怎么样获取Ring0权限。这样才能读取MSR。
3、在XP中用ZwSystemDebugControl试验了一下,一些机器上可以正确取得。
不过合理的方式还是写驱动获取Ring0权限。CPU-Z虽然看不到驱动文件,但是还是使用的写驱动的方式(Reading an MSR does require you to have a ring0 access. Both Core Temp and RealTemp use a driver for this.
The driver Core Temp uses is hidden in the executable for portability, so that's why you don't see anything other than the EXE when you download it.)
4、在pmu里读到,端口是68h、6ch。这个方法如果写驱动或许可以试试,但是用WinIO没有实现.

综上,获取这个值需要访问CPU底层,所以写驱动获取Ring0权限是必要的。

热心网友 时间:2023-10-07 04:20

using System.Management;

 Double CPUtprt = 0;
            System.Management.ManagementObjectSearcher mos = new System.Management.ManagementObjectSearcher(@"root\WMI", "Select * From MSAcpi_ThermalZoneTemperature");
            foreach (System.Management.ManagementObject mo in mos.Get())
            {
                CPUtprt = Convert.ToDouble(Convert.ToDouble(mo.GetPropertyValue("CurrentTemperature").ToString()) - 2732) / 10;
                lbl1.Text = ("CPU 温度 : " + CPUtprt.ToString() + " °C");
            }

不是实时的,经测试大约3-5分钟硬件更新一次.

热心网友 时间:2023-10-07 04:21

你想要什么? API在自己调到
调用OpenProcess方法名称:调用OpenProcess位置:Kernel32.dll中
调用OpenProcess函数打开一个现有的进程对象,并返回一个句柄的进程。
HANDLE调用OpenProcess(
DWORD dwDesiredAccess,//访问标志
BOOL bInheritHandle,//句柄继承选项
DWORD dwProcessId //进程标识符
);
返回值:如果成功,返回指定进程句柄值。
这样的失败,返回值为NULL,调用GetLastError获取错误代码

热心网友 时间:2023-10-07 04:21

鲁大师或者驱动人生等硬件管理的都带有温度检测

热心网友 时间:2023-10-07 04:22

使用SNMP协议追问能否具体说说啊

追答SNMP协议是一个标准协议,可以查看本机CUP温度,也可以查看网络其他设备的CPU温度,不管是windows还是linux系统。本机windows系统只要在安装iis那里吧snmp打开就可以。C#中用的有snmpsharpnet来管理snmp的get,set,wolk和trap。trap就是使用很广泛的主动推送告警。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
企业培训学到了什么 培训感悟简短 有关培训的感悟 通过培训学到什么 培训你学到了什么 领导问培训学到什么怎么回复 Linux系统安装FTP服务器 Linux系统的网络文件共享 建筑的七盏明灯的内容简介 面向对象设计七大原则 简单说 交互设计七大定律 跪求:VB获取CPU温度代码!!! VB 如何得到CPU温度呢? C#如何获取电脑CPU温度,硬盘温度,主板温度,CPU转速 java获取cpu温度,跪求源代码。。。 用python获取电脑cpu温度代码 如何用c# 获取cpu温度! 如何用VB.Net进行CPU温度读取 API里有没有得到cpu温度的函数? superio读取cpu温度的api接口函数 Win10系统下打印机驱动安装不了如何解决 win7搜索到win10共享的打印机,但安装驱动时提示无法安装打印机,如图。求大神赐教 到Win10系统后惠普打印机无法使用怎么办 win10系统安装不上打印机驱动怎么解决 win10系统打印机无法安装驱动,几次安装后用不了? 手机验证码接收平台可以注册新浪和微信吗? 升级win10后canon打印机驱动程序错误 win10打印机驱动装好了 为什么还不能打印? win10安装打印机驱动数据无效是什么问题? 华硕win10笔记本通过WiFi连接打印机显示驱动无法使用 404 Not Found 如何用.NET来获取CPU,显卡和硬盘的温度 C/C++ 如何编程实现读取电脑所有的硬件信息 cpu温度是如何获取的? 用程序如何获取CPU的温度 VB 怎么获取 CPU温度和硬盘温度 怎样用代码获得CPU和硬盘的实时温度 如何获取电脑的CPU温度 编程获得CPU的实时使用率和温度 可以显示CPU温度的软件有哪些? 鲁大师软件如何能知道电脑的cpu温度?谢谢! 如何在文档中插入excel表格 湘源6.0生成的用地平衡表怎么导成excel表格 如何将表格插入excel工作表 现在接码注册微信是什么情况 在PPT中如何插入Excel表格? 如何在CAD中插入EXCEL表格? 如何在EXCEL表其中的一个单元格中插入其他的表格? 我手机号绑的QQ号太多了该怎么办? 手机绑定了10个QQ,没有QQ号如何解绑? 我的手机号绑定的QQ号太多了 怎么才能用手机解绑啊