在Go 中,當使用syscall 使用exec.Command(name, args...) 來隱藏命令列視窗時,某些使用者遇到揮之不去的問題:在Windows環境下編譯後視窗重新出現。
這個問題旨在揭示一個防止命令列視窗出現的解決方案。雖然使用 go build -ldflags -H=windowsgui 將 Go 原始碼編譯為 Windows GUI 可執行檔的技術有效地抑制了程式本身的啟動窗口,但 Exec 繼續產生可見視窗。
解決方案:
存在一個卓越的解決方案,它使exec.Command() 能夠在不顯示可見的情況下執行window.
import syscall cmd_path = "C:\Windows\system32\cmd.exe" cmd_instance = exec.Command(cmd_path, "/c", "notepad") cmd_instance.SysProcAttr = &syscall.SysProcAttr{HideWindow: true} cmd_output, err := cmd_instance.Output()
此程式碼匯入系統呼叫並將命令路徑、參數和HideWindow 屬性指派給cmd_instance 物件。隨後,它執行命令並將輸出儲存在 cmd_output 中。
這種方法在利用 Go 中的 exec.Command() 時成功隱藏了命令列窗口,有效地解決了初始查詢。
以上是在 Go 中使用 exec.Command 時如何隱藏命令提示字元視窗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!