C#测试硬件信息查询库Hardware.Info

  微信公众号“Net分享”的文章《Net跨平台硬件信息查询库 Hardware.Info:全面获取系统硬件详情》(参考文献1)介绍了开源C#硬件信息查询库Hardware.Info,该库支持查询电池、BIOS、CPU、内存、显示器、主板、网卡、声卡、显卡等信息,采用的技术包括:
  1)Windows:WMI;
  2)Linux:/dev, /proc, /sys;
  3)macOS:sysctl, system_profiler。

  参考文献1中的GitHub地址好像已经失效,在测试项目中添加Nuget包时找到了最新的地址(参考文献2),通过查看项目说明,应该就是文章中使用的包。
  VS2022中新建Winform项目,在Nuget包管理器中搜索并安装Hardware.Info包。

在这里插入图片描述
  主要使用HardwareInfo类获取各类硬件信息,该类的构造函数内部根据操作系统不同实例化相应的信息获取类,不过这些类都是internal,无法直接调用(有需要的话可以直接复制源代码)。
在这里插入图片描述
  主要用到的函数及属性如下表所示:

序号名称类型说明
1BatteryList属性获取本机所有电池信息,每个电池(Battery类)包括设计容量、电池状态 、预计剩余使用时间等数据
2BiosList属性获取本机所有的BIOS信息,每个BIOS(BIOS类)包括名称、制造商、序列号、版本等数据
3ComputerSystemList属性获取本机所有的操作系统信息,每个操作系统(ComputerSystem类)包括名称、厂商、版本、识别码、产品编号等数据
4DriveList属性获取本机所有的硬盘信息,每个硬盘(Drive类)包括固件版本、制造商、序列号、分区数量、分区集合(Partition)等数据
5GetLocalIPv4Addresses函数获取本机所有IPv4信息,返回IPAddress类集合,该类位于System.Net命名空间
6KeyboardList属性获取本机所有键盘信息,每个键盘(Keyboard类)包括名称、功能键数量、描述等数据
7MemoryList属性获取本机所有物理内存信息,每个内存条(Memory类)包括制造商、最大/最小电压、序列号、容量、读写速度等数据
8MemoryStatus属性获取当前系统内存信息,包括物理内存大小、可用物理内存大小、虚拟内存大小、可用虚拟内存大小等数据
9MonitorList属性获取本机所有显示器信息,每个显示器(Monitor类)包括名称、类型、制造商、分辨率、序列号等数据
10MotherboardList属性获取本机所有主板信息,每个主板(Motherboard类)包括制造商、序列号等数据
11MouseList属性获取本机所有鼠标信息,每个鼠标(Mouse类)包括名称、制造商、按钮数据、描述等数据
12NetworkAdapterList属性获取本机所有网卡信息,每个网卡(NetworkAdapter类)包括名称、类型、制造商、mac地址等数据
13OperatingSystem属性获取当前操作系统信息,包括名称、版本等数据
14PrinterList属性获取本地所有打印机信息,每个打印机(Printer类)包括名称、描述、分辨率、是否默认打印机、是否本地打印机等数据
15RefreshAll函数刷新所有硬件信息
16RefreshBatteryList函数刷新电池信息
17RefreshBIOSList函数刷新BIOS信息
18RefreshComputerSystemList函数刷新操作系统信息
19RefreshCPUList函数刷新CPU信息
20RefreshDriveList函数刷新银盘信息
21RefreshKeyboardList函数刷新键盘信息
22RefreshMemoryList函数刷新内存条信息
23RefreshMemoryStatus函数刷新当前系统内存信息
24RefreshMonitorList函数刷新显示器信息
25RefreshMotherboardList函数刷新主板信息
26RefreshMouseList函数刷新鼠标信息
27RefreshNetworkAdapterList函数刷新网卡信息
28RefreshOperatingSystem函数刷新当前操作系统信息
29RefreshPrinterList函数刷新打印机信息
30RefreshSoundDeviceList函数刷新声卡信息
31RefreshVideoControllerList函数刷新显卡信息
32SoundDeviceList属性获取本机声卡信息,每个声卡(SoundDevice类)包括名称、描述、制造商等数据
33VideoController属性获取本机视频控制器信息,每个视频控制器(VideoController类)包括名称、制造商、最大/最小刷新频率、当前分辨率等数据

  测试代码比较简单就不在此列出,总体而言,Hardware.Info库使用简单方便,值得使用。另外GitHub主页中还列出了几个Windows中的使用问题,有遇到的可以参考解决。

参考文献:
[1]https://www.cnblogs.com/netcore5/p/18711795
[2]https://github.com/Jinjinov/Hardware.Info

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值