go - 如何在 Windows 上隐藏 Go 程序的控制台窗口

标签 go

我尝试了各种方法来创建只显示 MessageBox 或独立 GUI 窗口的 Go 程序。 如果我用 C/C++ 写这个,我会定义一个 WinMain ,省略主要内容,我会很高兴。 在我看来,只要我定义了一个 main 函数,就会自动创建一个控制台窗口。而且main函数是强制的。

package main
func main() {
...
}

为了避免这种情况,我尝试了 example它创建了一个 WinMain

func WinMain(wproc uintptr) {
    hInstance := GetModuleHandle(nil)
    ...
}

但效果是一样的:一个空的控制台窗口一个 GUI 窗口: enter image description here

最佳答案

-ldflags -H=windowsgui 添加到您的 go build/install 命令行。您会看到控制台窗口不存在:

enter image description here

关于go - 如何在 Windows 上隐藏 Go 程序的控制台窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36727740/

相关文章:

go - Websocket 等待超时消息

git - 让 git/go get 使用代理域

ajax - 在返回之前如何合并两个 gorountines 的结果?

go - 将重试策略变成可重用的函数

postgresql - 不支持的数据类型 : &[] error on GORM field where custom Valuer returns nil?

windows - 编译Go 1.4.2 报错"dereferencing type-punned pointer"

json - 编码映射到 JSON 时丢失数据

go - 如何在golang中设置获取大小?

go - Go中的单例实现

go - Go 中方法的作用域是什么?