Files
4566704 138c929bd4 feat(hardware): 自 go-hua 迁入硬件信息采集与变更检测
- WMI 采集主板/BIOS/显卡/内存/CPU/硬盘等 11 类设备 + 变更比对
- 新增依赖 gopsutil/yusufpapurcu/wmi, 附测试、例程与 README
2026-09-20 12:29:36 +08:00

1.1 KiB

hardware

硬件信息采集(WMI)与硬件变更检测:主板/BIOS/显卡/内存/CPU/硬盘/声卡/网卡/ 显示器/鼠标/键盘,一次 GetHardwareInfo 全量采集。

迁移自 go-hua/hardware,代码保持原样。Windows 走 WMI;Unix 侧为精简实现。

用法

import "git.zeroonesoft.cn/golib/zogo/hardware"

// 全量采集(结构体字段按设备分组)
hw, err := hardware.GetHardwareInfo()
fmt.Println(len(hw.Processor), len(hw.PhysicalMemory), len(hw.DiskDrive))

// 单项采集
boards, err := hardware.GetBaseBoardInfo()
bios, err := hardware.GetBiosInfo()
disks, err := hardware.GetDiskDriveInfo()

// 变更检测(与上次采集结果比对,任一字段变化即视为变更)
changed := hardware.CheckBaseBoardChanged(oldBoards, newBoards)

完整可运行例程:examples/hardware/main.go

注意

  • WMI 查询有秒级耗时,勿在请求热路径上全量采集;建议进程启动或低频定时任务使用。
  • CheckBaseBoardChanged 按字段值比较,不比对顺序。