id_windows.go 435 B

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