【转载】Go语言:操作Windows注册表

7 篇文章 0 订阅

安装

go get golang.org/x/sys/windows/registry

代码实例

package main

import (
    "golang.org/x/sys/windows/registry"
)

func main() {
    // 创建:指定路径的项
    // 路径:HKEY_CURRENT_USER\Software\Hello Go
    key, exists, _ := registry.CreateKey(registry.CURRENT_USER, \`SOFTWARE\Hello Go\`, registry.ALL_ACCESS)
    defer key.Close()

    // 判断是否已经存在了
    if exists {
        println(`键已存在`)
    } else {
        println(`新建注册表键`)
    }

    // 写入:32位整形值
    key.SetDWordValue(`32位整形值`, uint32(123456))
    // 写入:64位整形值
    key.SetQWordValue(`64位整形值`, uint64(123456))
    // 写入:字符串
    key.SetStringValue(`字符串`, `hello`)
    // 写入:字符串数组
    key.SetStringsValue(`字符串数组`, []string{`hello`, `world`})
    // 写入:二进制
    key.SetBinaryValue(`二进制`, []byte{0x11, 0x22})

    // 读取:字符串
    s, _, _ := key.GetStringValue(`字符串`)
    println(s)

    // 读取:一个项下的所有子项
    keys, _ := key.ReadSubKeyNames(0)
    for _, key_subkey := range keys {
        // 输出所有子项的名字
        println(key_subkey)
    }

    // 创建:子项
    subkey, _, _ := registry.CreateKey(key, `子项`, registry.ALL_ACCESS)
    defer subkey.Close()

    // 删除:子项
    // 该键有子项,所以会删除失败
    // 没有子项,删除成功
    registry.DeleteKey(key, `子项`)
}

作者:海东社长
链接:https://www.jianshu.com/p/b7a5406eb732
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

原作者赞赏地址:http://afdian.net/@haidongmiao

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值