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 中国語 Web サイトの他の関連記事を参照してください。