首頁 > 後端開發 > Golang > 主體

如何將Go進程與命令列視窗解耦並在Windows中隱藏控制台視窗?

DDD
發布: 2024-11-03 17:10:29
原創
754 人瀏覽過

How to Decouple a Go Process from the Command Window and Hide the Console Window in Windows?

將進程與命令列視窗解耦

在 Go 中,您可以使用 os.StartProcess() 建立子進程。但是,預設情況下,此進程保持與父命令視窗的連線。要解耦進程並在背景運行它,您需要修改其屬性。

在您的程式碼中,您已經設定了 procAttr 結構來重定向子程序的檔案描述符。但是,您似乎忽略了隱藏 Windows 系統控制台視窗的必要設定。

要隱藏控制台窗口,請將以下行新增至 procAttr.Sys 成員:

procAttr.Sys.HideWindow = true
登入後複製

但是,您提到這會導致「記憶體指標錯誤」錯誤。這很可能是由於程式碼中與進程解耦無關的另一個問題造成的。

要在不連結到Windows GUI 子系統並停用控制台視窗建立的情況下編譯程序,請使用以下命令:

go tool 8l -o output.exe -Hwindowsgui input.8
登入後複製

這將產生一個可執行文件,可以在背景運行,無需控制台視窗。

以上是如何將Go進程與命令列視窗解耦並在Windows中隱藏控制台視窗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板