在Golang 中使用Exec 時防止出現命令列視窗
在Go 中,使用exec.Command 產生新進程有時會導致出現可見的命令列視窗。即使利用 syscall.SysProcAttr.HideWindow 抑制窗口,此問題仍然存在。
解決方案:
存在另一種方法來執行命令而不產生可見視窗。此解決方案涉及使用 cmd.exe 實用程式執行所需的命令。
程式碼範例:
import "syscall" // Use cmd.exe to execute commands without spawning a visible window func main() { 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() }
來源:
原始解決方案可以在這裡找到: https://www.reddit.com/r/golang/comments/2c1g3x/build_golang_app_reverse_shell_to_run_in_windows/
以上是在 Go 中使用 exec.Command 時如何防止出現命令列視窗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!