原文地址 https://blog.csdn.net/liangguangchuan/article/details/52669417

golang 操作windows注册表

2016年09月26日 13:40:30 阅读数:1127

goLang这种神器来说操作系统数据应该是最简单的,群里面有个朋友在问这样的一个问题。他在操作的时候提示权限不足,我在后面的测试的时候发现这个问题的根源

  1. package main
  2. import (
  3. "fmt"
  4. "log"
  5. registry "github.com/golang/sys/windows/registry"
  6. )
  7. func main() {
  8. k, err := registry.OpenKey(registry.LOCAL_MACHINE, `SAM\XIAO`, registry.ALL_ACCESS)
  9. if err != nil {
  10. log.Fatal(err)
  11. }
  12. defer k.Close()
  13. s, _, err := k.GetStringValue("x")
  14. if err != nil {
  15. log.Fatal(err)
  16. }
  17. fmt.Printf("%q\n", s)
  18. }
  1. package main
  2. import (
  3. "fmt"
  4. "log"
  5. registry "github.com/golang/sys/windows/registry"
  6. )
  7. func main() {
  8. k, err := registry.OpenKey(registry.LOCAL_MACHINE, `SAM\XIAO`, registry.ALL_ACCESS)
  9. if err != nil {
  10. log.Fatal(err)
  11. }
  12. defer k.Close()
  13. s, _, err := k.GetStringValue("x")
  14. if err != nil {
  15. log.Fatal(err)
  16. }
  17. fmt.Printf("%q\n", s)
  18. }

上面上我测试的代码

如果说这个注册表里面的向没有权限的时候 会提示权限不足

但是我在下面给它赋值的一个权限的话,就是可以的

具体喜欢研究的朋友。可以自己多试试

下面是的都有哪些权限,手册 点击跳转 这个跳转是需要翻墙的

他这边告诉我们如果需要详细的注册表项的安全性和访问权限解释可以去看 微软那边查看一下

点击跳转微软注册权限介绍

通过goLang 常量的16进制值对比一下就知道 哪个是哪个了

版权声明:本文为博主原创文章,未经博主允许不得转载。欢迎探讨 如果发现文章错误欢迎指出。 https://blog.csdn.net/liangguangchuan/article/details/52669417 个人分类: GoLang

ft_authoradmin  ft_create_time2018-04-28 14:17
 ft_update_time2018-04-28 14:18