分享
  1. 首页
  2. 文章

Go:操作注册表

aqtata · · 5175 次点击 · · 开始浏览
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

package main
import (
	"fmt"
	"log"
	"golang.org/x/sys/windows/registry"
)
func main() {
	key, exists, err := registry.CreateKey(registry.CURRENT_USER, "SOFTWARE\\Hello Go", registry.ALL_ACCESS)
	if err != nil {
		log.Fatal(err)
	}
	defer key.Close()
	if exists {
		fmt.Println("键已存在")
	} else {
		fmt.Println("新建注册表键")
	}
	// 写入32位整形值
	key.SetDWordValue("DWORD", 0xFFFFFFFF)
	// 写入64位整形值
	key.SetQWordValue("QDWORD", 0xFFFFFFFFFFFFFFFF)
	// 写入字符串
	key.SetStringValue("String", "hello")
	// 写入多行字符串
	key.SetStringsValue("Strings", []string{"hello", "world"})
	// 写入二进制
	key.SetBinaryValue("Binary", []byte{0x11, 0x22})
	// 读取字符串值
	s, _, _ := key.GetStringValue("String")
	fmt.Println(s)
	// 枚举所有值名称
	values, _ := key.ReadValueNames(0)
	fmt.Println(values)
	// 创建三个子键
	subkey1, _, _ := registry.CreateKey(key, "Sub1", registry.ALL_ACCESS)
	subkey2, _, _ := registry.CreateKey(key, "Sub2", registry.ALL_ACCESS)
	subkey3, _, _ := registry.CreateKey(subkey1, "Sub3", registry.ALL_ACCESS)
	defer subkey1.Close()
	defer subkey2.Close()
	defer subkey3.Close()
	// 枚举所有子键
	keys, _ := key.ReadSubKeyNames(0)
	fmt.Println(keys)
	// 该键有子项,所以会删除失败
	err = registry.DeleteKey(key, "Sub1")
	if err != nil {
		fmt.Println(err)
	}
 // 没有子项,删除成功
	registry.DeleteKey(key, "Sub2")
}


有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:aqtata

查看原文:Go:操作注册表

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

关注微信
5175 次点击
暂无回复
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏