ホームページ  >  記事  >  バックエンド開発  >  Windows 上の Golang で非 GUI アプリケーション用に別のコマンド ウィンドウを起動するにはどうすればよいですか?

Windows 上の Golang で非 GUI アプリケーション用に別のコマンド ウィンドウを起動するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-01 07:26:02198ブラウズ

 How to Launch a Separate Command Window for a Non-GUI Application in Golang on Windows?

Windows で Golang から新しいコマンド ウィンドウを起動する方法

Golang 内からアプリケーション用に別のコマンド ウィンドウを起動するのは難しい場合がありますプログラム。この質問では、独立した入力ストリームと出力ストリームを持つ複数のコマンド ウィンドウを必要とする開発者が直面する一般的な問題について説明します。

問題: 個別のウィンドウで非 GUI アプリケーションを起動する

ユーザーは Go アプリケーションを使用してカスタム コマンド ウィンドウ インターフェイスを作成しようとしています。彼らは、独自のウィンドウでアプリケーションの新しいインスタンスを起動するのが困難に直面していました。 「os/exec」パッケージの使用は、非 GUI アプリケーションでは効果がないことが判明しています。

解決策: Windows で「start」コマンドを使用する

解決策は、アプリケーションを実行するときに、「cmd /c」の接尾辞として「start」コマンドを追加します。 「./executor.exe /start C:/path/to/your/app.exe」形式を利用すると、ユーザーは独自の標準入出力ストリームを使用して別のコマンド ウィンドウを正常に起動できます。

この問題を解決する更新されたコードは次のとおりです:

import (
    "os/exec"
)

func main() {
    cmd := exec.Command("cmd", "/C", "start", "./executor.exe", "/start", "C:/path/to/your/app.exe")
    err := cmd.Start()
    if err != nil {
        log.Fatal(err)  // Handle error
    }
}

このソリューションは、独自の入出力機能を備えた、指定されたアプリケーション用の新しいコマンド ウィンドウを効果的に作成し、Go プログラムが複数のコマンド ウィンドウと対話できるようにします。同時に。

以上がWindows 上の Golang で非 GUI アプリケーション用に別のコマンド ウィンドウを起動するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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