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

Mar*_*ged 16 go

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

package main
func main() {
...
}
Run Code Online (Sandbox Code Playgroud)

为了避免这种情况,我尝试了一个创建WinMain 的示例

func WinMain(wproc uintptr) {
    hInstance := GetModuleHandle(nil)
    ...
}
Run Code Online (Sandbox Code Playgroud)

但效果是一样的:一个空的控制台窗口一个GUI窗口: 在此输入图像描述

Tri*_*lJM 33

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

在此输入图像描述

  • 当我调用`go build -ldflags -Hwindowsgui guionly.go`时,我得到`flag提供但未定义:-Hwindowsgui` (2认同)
  • 非常感谢,我没有看到丢失的`=`。更糟糕的是:_现在_我能够找到之前提出的类似问题;-) http://stackoverflow.com/questions/23250505/how-do-i-create-an-executable-from-golang-that -doesnt-open-a-command-cmd-wind (2认同)