惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The Last Watchdog
The Last Watchdog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
S
Secure Thoughts
MongoDB | Blog
MongoDB | Blog
博客园 - Franky
T
Tor Project blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Google DeepMind News
Google DeepMind News
L
LINUX DO - 最新话题
博客园_首页
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Vercel News
Vercel News
Last Week in AI
Last Week in AI
月光博客
月光博客
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
P
Proofpoint News Feed
博客园 - 叶小钗
NISL@THU
NISL@THU
C
Check Point Blog
K
Kaspersky official blog
N
News and Events Feed by Topic
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
A
Arctic Wolf
T
Threatpost
GbyAI
GbyAI
L
LINUX DO - 热门话题
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Privacy & Cybersecurity Law Blog
N
News and Events Feed by Topic
Scott Helme
Scott Helme
P
Privacy International News Feed
The Register - Security
The Register - Security
G
GRAHAM CLULEY
Recorded Future
Recorded Future
Apple Machine Learning Research
Apple Machine Learning Research
C
Cybersecurity and Infrastructure Security Agency CISA
B
Blog
Project Zero
Project Zero
Cyberwarzone
Cyberwarzone
Webroot Blog
Webroot Blog
Microsoft Security Blog
Microsoft Security Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
D
DataBreaches.Net
J
Java Code Geeks
AWS News Blog
AWS News Blog
Help Net Security
Help Net Security
Engineering at Meta
Engineering at Meta
M
MIT News - Artificial intelligence
T
Threat Research - Cisco Blogs
Google DeepMind News
Google DeepMind News

博客园 - lzhdim

近十年最帅风冷!酷冷至尊V8 ACE 3DHP散热器评测:单塔能干翻双塔 20260723 - 个人小作品更新 雷柏VT3s MAX鼠标评测:中小手型用户也没有被遗忘 顶尖性能的小号电竞鼠标来了 JavaScript 中的原型与继承 1分钟查清局域网所有IP 20260714 - 个人小作品更新 WorkBuddy 完整教程手册 专为AI而生的企业级QLC SSD!长江存储PE501 61.44TB评测:超过1PB的写入测试 32GB显存才是第一生产力!英特尔锐炫 Pro B70评测:中小企业AI降本神器 JavaScript中的this关键字 C#开发的PopoSaver泡泡屏保应用 - 开源研究系列文章 - 个人小作品 6天不间断测试告诉你到底有多省电!米家空调巨省电大1.5匹评测:制冷峰值功率不超过500W 三倍双摄加持 + D-Log 2 曲线!大疆DJI OSMO Pocket 4P全面评测:补齐短板,化身口袋电影机 晶栈4.0闪存立威!长江存储致态TiPro9000 2TB SSD评测:缓外写入超4GB/s独一档 C# 多线程同步机制详解:原理、使用与性能对比 JavaScript作用域与闭包讲解 最受欢迎的 10 大免费 AI 工具 六种AI生意,从月入一万到月入十万 5个国产大模型实测对比2026:DeepSeek、Kimi、豆包、通义、智谱哪个好用 豆包、元宝、千问、Kimi、DeepSeek,这么多AI软件,到底该用哪个? 微软免费开源了一个 Linux 操作系统,没错!是微软出品 一次看懂5种咖啡冲煮方式:意式、手冲、法压、冷萃、摩卡壶到底有什么区别 120个 实用CSS 技巧汇总合集 JavaScript运算符与表达式详解 C#开发的ScreenSaver屏保应用 - 开源研究系列文章 - 个人小作品 WinForm 中跨线程操作 UI 的解决方案 JavaScript变量与数据类型详解 苹果良心!iOS 27适配设备公布:30款机型 7年前的iPhone 11还能升级 C++图形用户界面开发入门 10个不该免费的GitHub神级项目 JavaScript语言全面概述:从历史到现代实践 一张图看懂常见咖啡 C盘空间多出来4GB:谷歌服软 Chrome本地AI大模型可禁用、删除了 96GB显存运行230B大模型!七彩虹灵创K16笔记本评测:160W性能释放 AMD锐龙AI Max+ 395加持全能移动AI工作站 AI PC最强存储搭档!雷克沙NM1090 PRO 8TB固态评测:14400MB/s满速不缩水 C#已经不是当年的C#了——我用它写了个微秒级数据库引擎 EasyTool:轻量全能的 .NET 工具类库 SQL 入门 17:MySQL 数据类型:从字符串到 JSON 的全面解析 SQL 入门 16:SQL 事务隔离级别与死锁解析(易懂) 原相3955XM+TL3228主控!小米电竞鼠标2全面评测:原生双8K究竟有多强 PCIe 4.0火力全开:闪迪奥丁马仕GX 7100 NVMe SSD上手 超乎预料的千元级电竞主板!七彩虹iGame B850M Ultra-OC V14主板评测 SQL 入门 15:SQL 事务:从 ACID 到四种常见的并发问题 名人 - 我的闪存 C#性能优化技巧 SQL 入门 14:SQL 触发器与事件:自动化数据处理 38个实用的JavaScript 技巧 一款基于 .Net WinForm 开发的节点编辑器,纯 GDI 实现,体积仅 100+Kb Masuit.Tools:这个 C# 工具库 SQL 入门 13:SQL 存储过程与函数:封装逻辑与参数处理 49个 JavaScript 代码快捷技巧,让你在 2026 年成为代码高手 20260503 - 个人小作品更新 SQL 入门 12:SQL 视图:创建、修改与可更新视图 C#如何实现Windows系统桌面截图功能... 6999元AMD新旗舰首测!锐龙9 9950X3D2性能解禁:这颗U根本不是给游戏玩家造的 SQL 入门 11:日期时间格式化、IF、CASE的使用 基于C#的校时类库的实现及使用 - 开源项目研究文章
C# 中读取CPU、硬盘和内存温度
lzhdim · 2026-07-23 · via 博客园 - lzhdim

前言

系统监控工具或性能分析应用时,实时获取硬件信息(如 CPU、硬盘和内存的温度)是一个常见且重要的需求。然而,.NET Framework 或 .NET Core 并未提供直接访问硬件温度的内置支持。为了实现这一功能,我们可以借助开源库 Open Hardware Monitor 来完成硬件信息的读取。

本文将详细介绍如何在 C# 项目中集成并使用 Open Hardware Monitor 库,以实现对 CPU、硬盘以及内存温度的监控,并提供完整的示例代码。

正文

一、准备工作

要使用 Open Hardware Monitor,首先需要从其 GitHub 官方页面 下载库文件。下载完成后,你会获得一个 .dll 文件,这是我们将要在 C# 项目中引用的核心库。

注意:确保下载的版本与你的项目目标框架兼容(如 .NET Framework 4.x 或 .NET Core/.NET 5+)。

二、添加引用

在 Visual Studio 中为项目添加 Open Hardware Monitor 引用的步骤如下:

1、右键点击解决方案资源管理器中的项目名。

2、选择"添加" -> "引用"。

3、在弹出的窗口中选择"浏览",然后定位到你下载的 OpenHardwareMonitorLib.dll 文件。

4、选中该 DLL 文件,点击"添加"。

5、确认添加引用操作。

三、读取硬件温度

下面是一个完整的 C# 示例程序,演示如何使用 Open Hardware Monitor 获取 CPU、硬盘和内存的温度信息:

using System;
using OpenHardwareMonitor.Hardware;

namespaceHardwareTemperatureMonitor
{
    classProgram
    {
        static void Main(string[] args)
        {
            Computer computer = new Computer
            {
                CPUEnabled = true,   // 启用CPU监控
                HDDEnabled = true,   // 启用硬盘监控
                RAMEnabled = true    // 启用内存监控(注意:大多数内存模块无温度传感器)
            };

            computer.Open(); // 开始监控

            foreach (var hardwareItem in computer.Hardware)
            {
                hardwareItem.Update(); // 更新硬件信息
                foreach (var sensor in hardwareItem.Sensors)
                {
                    if (sensor.SensorType == SensorType.Temperature) // 检查是否为温度传感器
                    {
                        Console.WriteLine($"{hardwareItem.Name} - {sensor.Name}: {sensor.Value.GetValueOrDefault()}°C");
                    }
                }
            }

            computer.Close(); // 结束监控
        }
    }
}

上图展示了程序运行后输出的硬件温度信息。

该代码通过以下步骤实现了温度读取:

1、创建一个 Computer 实例,并启用 CPU、硬盘和内存的监控。

2、调用 computer.Open() 启动硬件监控。

3、遍历所有硬件设备及其传感器,筛选出类型为 Temperature 的传感器。

4、输出每个传感器对应的硬件名称及当前温度值。

5、最后调用 computer.Close() 关闭监控。

四、注意事项

管理员权限:某些系统下需要以管理员身份运行程序,以便访问底层硬件信息。

内存温度限制:大多数内存模块并不包含温度传感器,因此可能无法获取内存温度数据。

兼容性检查:确保所使用的 Open Hardware Monitor 版本与你的项目目标框架兼容,避免出现运行时异常。

总结

通过集成 Open Hardware Monitor 库,我们可以在 C# 中轻松实现对硬件温度的监控功能。尽管 .NET 本身并未提供直接访问硬件信息的 API,但借助第三方开源库的支持,开发者依然可以构建强大的系统监控和性能分析工具。

不管是用于服务器健康监控、游戏性能优化,还是个人电脑状态查看,这项技术都具有广泛的应用价值。掌握此类硬件交互技巧,有助于提升软件的功能性和用户体验。