我只想在Windows注册表中使用Golang返回一个(默认)字符串值
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)