Heim > Artikel > Backend-Entwicklung > Wie starte ich ein separates Befehlsfenster für eine Nicht-GUI-Anwendung in Golang unter 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!