2016-04-19 187 views
4

我嘗試過創建Go程序的各種方法,該程序僅顯示MessageBox或獨立的GUI窗口。 如果我要用C/C++編寫這個代碼,我只需要定義一個WinMain,而忽略主要代碼,我會很樂意去。 在我看來,只要我定義了一個main函數,就會自動創建一個控制檯窗口。主要功能是強制性的。如何在Windows上隱藏Go程序的控制檯窗口

package main 
func main() { 
... 
} 

爲了避免這種情況我想一個example它創建了一個WinMain函數

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

但效果是一樣的:一個空的控制檯窗口 GUI窗口: enter image description here

回答

7

添加-ldflags -H=windowsgui到你的構建/安裝命令行。你會看到,在控制檯窗口中不存在:

enter image description here

+0

當我打電話'去建立-ldflags -Hwindowsgui guionly.go'我得到'標誌提供但沒有得到確定:-Hwindowsgui' – Marged

+0

貌似我忘了那裏有'='號。見編輯的答案。 – TriskalJM

+0

非常感謝,我沒有看到缺少'='。更糟糕的是:_now_我能夠找到一個類似的問題,之前被問過;-) http://stackoverflow.com/questions/23250505/how-do-i-create-an-executable-from-golang-that -doesnt開-A-命令CMD-風 – Marged

相關問題