编辑
2025-10-15
C#
00

目录

什么是Hardware.Info?
安装方法
基本使用方法
获取全部硬件信息
高级用法
异步刷新硬件信息
选择性获取特定硬件信息
总结

在开发系统监控工具、诊断应用或需要硬件信息的软件时,获取准确的系统硬件信息是一个基础性需求。Hardware.Info库为C#开发者提供了一个简单易用且功能强大的解决方案,让您能够轻松获取系统的CPU、内存、磁盘和网络等硬件信息。本文将详细介绍这个库的使用方法,并通过丰富的示例帮助您快速上手。

什么是Hardware.Info

Hardware.Info是一个专为.NET开发者设计的库,它封装了获取系统硬件信息的复杂过程,提供了简洁明了的API接口。无论您是开发系统工具、硬件监控应用,还是需要在应用中读取硬件配置,这个库都能满足您的需求。

安装方法

使用NuGet包管理器可以轻松安装:

Bash
Install-Package Hardware.Info

image.png

或者在Visual Studio的NuGet包管理器中搜索"Hardware.Info"进行安装。

基本使用方法

获取全部硬件信息

以下是一个完整示例,展示如何获取计算机的各种硬件信息:

C#
using Hardware.Info; namespace AppHardware { internal class Program { static void Main(string[] args) { // 创建HardwareInfo实例 var hardwareInfo = new HardwareInfo(); // 刷新所有硬件信息 hardwareInfo.RefreshAll(); // 处理器信息 Console.WriteLine("\n处理器信息:"); foreach (var cpu in hardwareInfo.CpuList) { Console.WriteLine($"处理器名称: {cpu.Name}"); Console.WriteLine($"时钟速度: {cpu.MaxClockSpeed} MHz"); Console.WriteLine($"核心数: {cpu.NumberOfCores}"); } // 内存信息 Console.WriteLine("\n内存信息:"); foreach (var memory in hardwareInfo.MemoryList) { // 将字节转换为GB显示 Console.WriteLine($"内存容量: {memory.Capacity / (1024 * 1024 * 1024)} GB"); Console.WriteLine($"内存厂家: {memory.Manufacturer}"); Console.WriteLine($"内存频率: {memory.Speed} MHz"); } // 磁盘信息 Console.WriteLine("\n磁盘信息:"); foreach (var disk in hardwareInfo.DriveList) { Console.WriteLine($"磁盘名称: {disk.Name}"); Console.WriteLine($"总容量: {disk.Size / (1024 * 1024 * 1024)} GB"); } // 网络适配器信息 Console.WriteLine("\n网络适配器信息:"); foreach (var network in hardwareInfo.NetworkAdapterList) { Console.WriteLine($"网卡名称: {network.Name}"); Console.WriteLine($"MAC地址: {network.MACAddress}"); Console.WriteLine($"IP地址: {string.Join(", ", network.IPAddressList)}"); } Console.ReadKey(); } } }

image.png

高级用法

异步刷新硬件信息

在UI应用中,您可能需要异步获取硬件信息以避免阻塞主线程:

C#
using System.Threading.Tasks; using Hardware.Info; public async Task RefreshHardwareInfoAsync() { var hardwareInfo = new HardwareInfo(); // 异步刷新硬件信息 await Task.Run(() => hardwareInfo.RefreshAll()); // 处理获取到的硬件信息 ProcessHardwareInfo(hardwareInfo); } private void ProcessHardwareInfo(HardwareInfo info) { // 在这里处理硬件信息 // 例如,更新UI显示或记录到日志 }

选择性获取特定硬件信息

如果您只需要特定类型的硬件信息,可以选择性地只刷新需要的部分,这样可以提高性能:

C#
using Hardware.Info; namespace AppHardware { internal class Program { static void Main(string[] args) { // 创建HardwareInfo实例 var hardwareInfo = new HardwareInfo(); // 仅刷新CPU和内存信息 hardwareInfo.RefreshCPUList(); hardwareInfo.RefreshMemoryList(); // 获取CPU信息 foreach (var cpu in hardwareInfo.CpuList) { Console.WriteLine($"CPU: {cpu.Name}, 核心数: {cpu.NumberOfCores}"); } // 获取内存信息 foreach (var memory in hardwareInfo.MemoryList) { Console.WriteLine($"内存: {memory.Capacity / (1024 * 1024 * 1024)} GB"); } Console.ReadKey(); } } }

image.png

总结

Hardware.Info库为C#开发者提供了一种简单而强大的方式来获取系统硬件信息。通过它,您可以轻松开发系统监控工具、硬件诊断应用或任何需要了解系统配置的软件。

本文介绍了从基本用法到高级应用的多种示例,希望能帮助您充分利用这个实用工具。无论是简单地获取系统信息,还是开发复杂的硬件监控解决方案,Hardware.Info都是一个理想的选择。

本文作者:技术老小子

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!