ホームページ >バックエンド開発 >Golang >Go で「exec.Command」を使用するときにコマンド ライン ウィンドウが表示されないようにするにはどうすればよいですか?

Go で「exec.Command」を使用するときにコマンド ライン ウィンドウが表示されないようにするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-28 02:22:15313ブラウズ

How to Prevent Command Line Windows from Appearing When Using `exec.Command` in Go?

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。