1、包名github.com/StackExchange/wmi
2、简单实现
package main
import (
"fmt"
"github.com/StackExchange/wmi"
"log"
"reflect"
"time"
)
// 即插即用设备
type PnPEntity struct {
Availability uint16
Caption string
ClassGuid string
CompatibleID []string
ConfigManagerErrorCode uint32
ConfigManagerUserConfig bool
CreationClassName string
Description string
DeviceID string
ErrorCleared bool
ErrorDescription string
HardwareID []string
InstallDate time.Time
LastErrorCode uint32
Manufacturer string
Name string
PNPClass string
PNPDeviceID string
PowerManagementCapabilities []uint16
PowerManagementSupported bool
Present bool
Service string
Status string
StatusInfo uint16
SystemCreationClassName string
SystemName string
}
func main(){
var dst []PnPEntity
str := "SELECT * FROM Win32_PnPEntity"
err := wmi.Query(str, &dst)
if err != nil {
log.Fatal(err)
return
}
for _, v := range dst {
if v.Service == "USBSTOR" {
fmt.Println(v)
}
}