id_windows.go 416 B

123456789101112131415161718192021
  1. // +build windows
  2. package machineid
  3. import (
  4. "golang.org/x/sys/windows/registry"
  5. )
  6. func getMachineID() (s string, err error) {
  7. var (
  8. key registry.Key
  9. )
  10. if key, err = registry.OpenKey(registry.LOCAL_MACHINE, `SOFTWARE\Microsoft\Cryptography`, registry.QUERY_VALUE|registry.WOW64_64KEY); err != nil {
  11. return
  12. }
  13. defer func() {
  14. _ = key.Close()
  15. }()
  16. s, _, err = key.GetStringValue("MachineGuid")
  17. return
  18. }