golang 获取硬件信息 (uuid/hwid)

golang get hardware info (uuid/hwid)

我正在尝试获取唯一的硬件信息,例如将具有身份验证过程的基于客户端的应用程序的设备的 uuid。

在 python 中会是这样的:

import subprocess

hwid = str(subprocess.check_output('wmic csproduct get uuid')).split('\r\n')[1].strip('\r').strip()

print(hwid)

输出:

9F23624C-33F1-3244-A2ZD-ABF6CC8E5FB5

如何在 go 中复制此函数,并将其分配给变量? uuid := xxx

我找到了一个解决方案,使用 os/exec:

package main

import (
    "bytes"
    "fmt"
    "os/exec"
)

func main() {

    const xx = "cmd.exe"

    var stdout bytes.Buffer
    cmd := exec.Command(xx, "/c", "wmic csproduct get uuid")
    cmd.Stdout = &stdout
    cmd.Run()

    out := stdout.String()

    fmt.Println(out)

}

输出:

UUID
9F23624C-33F1-3244-A2ZD-ABF6CC8E5FB5