我创建了一个我想在后台无形运行的应用程序(没有命令/ cmd控制台).我该怎么做呢?
(这适用于Windows,在Windows 7 Pro 64位上测试过)
Bar*_*rim 50
在线发现的文档说我可以编译一些类似的东西,
go build -ldflags -Hwindowsgui filename.go
但是这给出了一个错误: unknown flag -Hwindowsgui
对于最新的(1.1?)版本的编译器,这应该工作:
go build -ldflags -H=windowsgui filename.go
当我继续搜索时,我发现了一个注释,官方文档应该很快更新,但同时有很多旧式的示例答案出现错误.
Sha*_*ews 36
使用Go版本1.4.2
go build -ldflags "-H windowsgui"
Run Code Online (Sandbox Code Playgroud)
来自Go文档:
Run Code Online (Sandbox Code Playgroud)go build [-o output] [-i] [build flags] [packages]
-ldflags 'flag list'传递每个5l,6l或8l链接器调用的参数.
如果您不希望每次在调试期间键入长构建指令但仍希望控制台窗口消失,则可以在主函数的开头添加此代码:
package main
import "github.com/gonutz/w32"
func main() {
console := w32.GetConsoleWindow()
if console != 0 {
_, consoleProcID := w32.GetWindowThreadProcessId(console)
if w32.GetCurrentProcessId() == consoleProcID {
w32.ShowWindowAsync(console, w32.SW_HIDE)
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在你可以编译了go build.您的程序将在启动时显示控制台窗口一小段时间,然后立即隐藏它.