# 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` 按字段值比较,不比对顺序。