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

32 lines
1.1 KiB
Markdown

# hardware
硬件信息采集(WMI)与硬件变更检测:主板/BIOS/显卡/内存/CPU/硬盘/声卡/网卡/
显示器/鼠标/键盘,一次 `GetHardwareInfo` 全量采集。
> 迁移自 go-hua/hardware,代码保持原样。Windows 走 WMI;Unix 侧为精简实现。
## 用法
```go
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](../examples/hardware/main.go)
## 注意
- WMI 查询有秒级耗时,勿在请求热路径上全量采集;建议进程启动或低频定时任务使用。
- `CheckBaseBoardChanged` 按字段值比较,不比对顺序。