为了账号安全,请及时绑定邮箱和手机立即绑定

在 Go (Golang) 中枚举注册表值

在 Go (Golang) 中枚举注册表值

Go
绝地无双 2021-06-25 11:03:52
我正在尝试使用 Go 枚举 Windows 注册表中的值列表,但遇到了一些麻烦。我尝试了两种方法:使用 Go 提供的syscall库调用 into RegEnumValue,以及使用 lxn 的 Windows API 包装器。在这两种情况下,我都遇到了同样的问题。这是我正在使用的代码(目前正在使用 lxn 的 win 库):var root win.HKEYrootpath, _ := syscall.UTF16PtrFromString("HARDWARE\\DEVICEMAP\\SERIALCOMM")fmt.Println(win.RegOpenKeyEx(win.HKEY_LOCAL_MACHINE, rootpath, 0, win.KEY_READ, &root))var name_length uint32 = 72var name *uint16var key_type uint32var lpData *bytevar lpDataLength uint32 = 72var zero_uint uint32 = 0fmt.Println(win.RegEnumValue(root, zero_uint, name, &name_length, nil, &key_type, lpData, &lpDataLength))win.RegCloseKey(root)在这种情况下,RegEnumValue总是返回代码 87,MSDN 的唯一解释是“参数不正确”。有没有人有任何想法可以为我指明正确的方向?
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 331 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信