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, `子项`) }