我正在尝试读取给定键下的注册表名称列表,但是我得到的是空字符串字符串,而不是实际的注册表数据。我在这里做错了什么吗?

预期结果:[] string {“ApplicationBase”,“RunTimeVersion”,...}

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

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)

最佳答案

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

关于windows - golang.org/x/sys/windows/registry(k键)ReadSubKeyNames()返回空片,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52152150/

10-16 08:33