ホームページ >バックエンド開発 >Golang >Goで「exec.Command」を使用するときにコマンドプロンプトウィンドウを非表示にする方法は?

Goで「exec.Command」を使用するときにコマンドプロンプトウィンドウを非表示にする方法は?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-30 01:25:12855ブラウズ

How to Hide Command Prompt Windows When Using `exec.Command` in Go?

Exec でコマンド プロンプト ウィンドウを隠す方法

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

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