golang.org/x/sys/windows/registry(k Key)ReadSubKeyNames()返回空切片

golang.org/x/sys/windows/registry(k Key)ReadSubKeyNames()返回空切片,windows,go,registry,Windows,Go,Registry,我试图读取给定项下的注册表名列表,但得到的是一个空字符串片段,而不是实际的注册表数据。我有没有做错什么 预期结果:[]字符串{“ApplicationBase”、“RunTimeVersion”,…} CMD打印的实际结果:“PS子键名称:[]” 我想出来了-应该使用(k键)ReadValueNames来获取值的键 k, err := registry.OpenKey(registry.LOCAL_MACHINE,`SOFTWARE\Microsoft\PowerShell\1\PowerShe

我试图读取给定项下的注册表名列表,但得到的是一个空字符串片段,而不是实际的注册表数据。我有没有做错什么

预期结果:[]字符串{“ApplicationBase”、“RunTimeVersion”,…}

CMD打印的实际结果:“PS子键名称:[]”


我想出来了-应该使用(k键)ReadValueNames来获取值的键

k, err := registry.OpenKey(registry.LOCAL_MACHINE,`SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine`, registry.QUERY_VALUE|registry.ENUMERATE_SUB_KEYS)

if err != nil {
    log.Fatal(err)
}   

defer k.Close()

sn, err := k.ReadSubKeyNames(-1)

if err != nil {
    log.Fatal(err)
}   

fmt.Printf("PS Sub Key Names: %q\n", sn)