Heim >Backend-Entwicklung >Golang >Wie starte ich ein separates Befehlsfenster für eine Nicht-GUI-Anwendung in Golang unter Windows?

Wie starte ich ein separates Befehlsfenster für eine Nicht-GUI-Anwendung in Golang unter Windows?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-01 07:26:02289Durchsuche

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

So starten Sie ein neues Befehlsfenster von Golang in Windows

Das Starten eines separaten Befehlsfensters für eine Anwendung aus Golang heraus kann eine Herausforderung sein Programm. Diese Frage untersucht ein häufiges Problem von Entwicklern, die mehrere Befehlsfenster mit unabhängigen Eingabe- und Ausgabeströmen benötigen.

Problem: Starten von Nicht-GUI-Anwendungen mit separaten Fenstern

Das Der Benutzer versucht, mithilfe einer Go-Anwendung eine benutzerdefinierte Befehlsfensterschnittstelle zu erstellen. Sie hatten Schwierigkeiten, eine neue Instanz der Anwendung mit einem eigenen Fenster zu starten. Die Verwendung des Pakets „os/exec“ hat sich für Nicht-GUI-Anwendungen als unwirksam erwiesen.

Lösung: Verwendung des Befehls „start“ in Windows

Die Lösung liegt in der Verwendung von Geben Sie beim Ausführen der Anwendung den Befehl „start“ als Suffix an „cmd /c“ ein. Durch die Nutzung des Formats „./executor.exe /start C:/path/to/your/app.exe“ kann der Benutzer erfolgreich ein separates Befehlsfenster mit seinen eigenen Standard-Eingabe- und Ausgabestreams starten.

Hier ist der aktualisierte Code, der das Problem behebt:

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
    }
}

Diese Lösung erstellt effektiv ein neues Befehlsfenster für die angegebene Anwendung, komplett mit eigenen Eingabe- und Ausgabefunktionen, sodass das Go-Programm mit mehreren Befehlsfenstern interagieren kann gleichzeitig.

Das obige ist der detaillierte Inhalt vonWie starte ich ein separates Befehlsfenster für eine Nicht-GUI-Anwendung in Golang unter Windows?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn