go - 如何使用 golang 从 windows/registry 返回默认值

标签 go registry

我只想使用 Golang 返回 Windows 注册表中的(默认)字符串值

k, err := registry.OpenKey(registry.LOCAL_MACHINE, `SOFTWARE\Microsoft\Windows NT\CurrentVersion`, registry.QUERY_VALUE)
if err != nil {
    log.Fatal(err)
}
defer k.Close()

s, _, err := k.GetStringValue("(Default)") // It won't work
// s, _, err := k.GetStringValue("SystemRoot") // This is worked
if err != nil {
    log.Fatal(err)
}
fmt.Printf("Windows system root is %q\n", s)

我在 CMD 管理模式下运行它,但没有注意到

最佳答案

我发现了!

k, err := registry.OpenKey(registry.LOCAL_MACHINE, `SOFTWARE\Microsoft\Windows NT\CurrentVersion`, registry.ALL_ACCESS)
s, _, err := k.GetStringValue("") // The blank one refers to (Default)

关于go - 如何使用 golang 从 windows/registry 返回默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36998532/

相关文章:

Java 运行时环境 HKEY_LOCAL_MACHINE 错误

windows - VS 2005 安装问题

windows - 使用 .reg 文件将字符串值添加到注册表时出现问题

windows - Inno Setup 在注册表中的多字符串键中追加行

windows - Intel 和 AMD 处理器的 PROCESSOR_ARCHITECTURE 的奇怪注册表值

postgresql - 尝试在一个连接到另一个容器中的postgres的容器中运行go程序时发生拨号错误(拨号tcp 172.18.0.2:8001:connect:连接被拒绝)

go - ParseInt() 中使用的基本参数是什么?

linux - 使用 Go 运行带参数的 sh/bash/python 脚本

go - 带 slice 结构的隐式类型

go - 如何判断文件夹是否存在且可写?