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:
"SW_HIDE" hides the window, while "SW_SHOW" shows the window.
FileName = "cmdow.exe"; HideConsole. Start(); Add the exe to the solution, set the build action to "Content", set Copy to Output Directory to what suits you, and cmdow will hide the console window when it is ran.
Simply save it with a . pyw extension. This will prevent the console window from opening.
Add -ldflags -H=windowsgui
to your go build/install command line. You'll see that the console window is absent:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With