LibreHardwareMonitor:.Net开发的开源硬件监控项目

为了保证程序正常运行,对服务器监控是非常有必要的。

今天推荐一个开源库,方便监控硬件的运行状态,以确保设备的高效运行。

01 项目简介

LibreHardwareMonitor 是一个开源的硬件监控软件,能够实时监测计算机的各种硬件信息,包括温度传感器、风扇转速、电压、负载以及时钟速度等。

它是 Open Hardware Monitor 的一个分支版本,继承了其优秀的功能特性,并在此基础上进行了改进和优化。

LibreHardwareMonitor 支持多种主流硬件设备,如英特尔和 AMD 处理器、NVIDIA 和 AMD 显卡、HDD、SSD 和 NVMe 硬盘以及网卡等,几乎涵盖了计算机中的所有关键硬件组件。

02 项目组成

该项目两个主要部分组成:

(一)LibreHardwareMonitor 应用程序

这是一个基于 Windows Forms 的图形界面应用程序,依赖于 .NET Framework 4.7.2。

直观的图形界面展示所有硬件的监控数据,用户可以轻松查看各个硬件组件的实时状态。

图片

(二)LibreHardwareMonitorLib 库

LibreHardwareMonitorLib 是一个功能强大的库,允许开发者将其集成到自己的应用程序中。

它支持多种 .NET 版本,包括 .NET Framework 4.7.2、.NET 6.0 和 .NET 8.0,为开发者提供了广泛的兼容性选择。

通过使用该库,开发者可以在自己的应用程序中实现硬件监控功能,而无需从头开始开发相关的硬件接口代码。

03 使用示例

1、安装依赖库

Install-Package LibreHardwareMonitorLib

2、监控代码

using LibreHardwareMonitor.Hardware;

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 void Monitor()
    {
        Computer computer = new Computer
        {
            IsCpuEnabled = true,
            IsGpuEnabled = true,
            IsMemoryEnabled = true,
            IsMotherboardEnabled = true,
            IsControllerEnabled = true,
            IsNetworkEnabled = true,
            IsStorageEnabled = true
        };

        computer.Open();
        computer.Accept(new UpdateVisitor());

        foreach (IHardware hardware in computer.Hardware)
        {
            Console.WriteLine("Hardware: {0}", hardware.Name);

            foreach (IHardware subhardware in hardware.SubHardware)
            {
                Console.WriteLine("\tSubhardware: {0}", subhardware.Name);

                foreach (ISensor sensor in subhardware.Sensors)
                {
                    Console.WriteLine("\t\tSensor: {0}, value: {1}", sensor.Name, sensor.Value);
                }
            }

            foreach (ISensor sensor in hardware.Sensors)
            {
                Console.WriteLine("\tSensor: {0}, value: {1}", sensor.Name, sensor.Value);
            }
        }

        computer.Close();
    }
}

3、调用监控代码

var visitor = new UpdateVisitor();
visitor.Monitor();

4、运行效果如下

图片

04 项目地址

https://github.com/LibreHardwareMonitor/LibreHardwareMonitor

最后欢迎加入我的 知识星球,带你从零学习:三层架构与领域驱动设计架构!

- End -

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程乐趣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值