相关疑难解决方法(0)

1.10及更高版本开始支持Windows XP

首先:我知道Windows XP即将寿终正寝,疯狂地不安全,这是一个巨大的风险,并且仍在使用它的每个人都将永远注定失败。但是,我必须提供一个可以在Windows XP上运行的应用程序,而我必须使用Go来运行。在1.10中宣布不再支持XP,而1.11在发行说明中对此进行了确认:

如Go 1.10发行说明中所述,Go 1.11现在需要OpenBSD 6.2或更高版本,macOS 10.10 Yosemite或更高版本,或Windows 7或更高版本;删除了对这些操作系统的早期版本的支持。

我用1.11编译了我的应用程序,并试图在Windows XP SP3虚拟机上执行它。它可以成功执行!然后,我认为撤销的对Windows XP的支持仅适用于开发工具链,但即使在Windows XP上仍然可以执行: 在此处输入图片说明

如您所见,main go二进制文件也仍然可以在XP上运行。是否已经知道何时由于技术限制而无法在Windows XP上运行golang编译的exe,或者某些方法是否由于XP上缺少API而无法使用而导致某些方法失败?

windows-xp go

3
推荐指数
1
解决办法
1071
查看次数

如何使用Golang从Windows /注册表中返回默认值

我只想在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)
Run Code Online (Sandbox Code Playgroud)

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

registry go

1
推荐指数
1
解决办法
1348
查看次数

标签 统计

go ×2

registry ×1

windows-xp ×1