34

I tried various ways of creating a Go program that only displays either a MessageBox or a standalone GUI window. If I were to write this in C / C++ I would just define a WinMain, leave out the main and I would be good to go. It seems to me that as soon as I define a main function a console window is created automatically. And the main function is compulsory.

package main
func main() {
...
}

To avoid this I tried an example which creates a WinMain

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

But the effect is the same: an empty console window and a GUI window: enter image description here

0

1 Answer 1

72

Add -ldflags -H=windowsgui to your go build/install command line. You'll see that the console window is absent:

enter image description here

4

Not the answer you're looking for? Browse other questions tagged or ask your own question.