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()
このコードは、syscall をインポートし、コマンド パス、引数、および HideWindow 属性を cmd_instance オブジェクトに割り当てます。その後、コマンドが実行され、出力が cmd_output に保存されます。
このアプローチでは、Go で exec.Command() を利用しながらコマンド ライン ウィンドウをうまく隠し、最初のクエリを効果的に処理します。
以上がGoで「exec.Command」を使用するときにコマンドプロンプトウィンドウを非表示にする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。