Maison > Article > développement back-end > Comment lancer une fenêtre de commande distincte pour une application non graphique dans Golang sous Windows ?
Comment lancer une nouvelle fenêtre de commande à partir de Golang dans Windows
Lancer une fenêtre de commande distincte pour une application peut être difficile depuis un Golang programme. Cette question explore un problème courant rencontré par les développeurs qui ont besoin de plusieurs fenêtres de commande avec des flux d'entrée et de sortie indépendants.
Problème : lancement d'applications non graphiques avec des fenêtres séparées
Le l'utilisateur tente de créer une interface de fenêtre de commande personnalisée à l'aide d'une application Go. Ils ont rencontré des difficultés pour lancer une nouvelle instance de l'application avec sa propre fenêtre. L'utilisation du package "os/exec" s'est révélée inefficace pour les applications non-GUI.
Solution : Utiliser la commande "start" dans Windows
La solution réside dans l'utilisation du Commande "start" comme suffixe à "cmd /c" lors de l'exécution de l'application. En tirant parti du format "./executor.exe /start C:/path/to/your/app.exe", l'utilisateur peut lancer avec succès une fenêtre de commande distincte avec ses propres flux d'entrée et de sortie standard.
Voici le code mis à jour qui résout le problème :
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 } }
Cette solution crée efficacement une nouvelle fenêtre de commande pour l'application spécifiée, dotée de ses propres fonctionnalités d'entrée et de sortie, permettant au programme Go d'interagir avec plusieurs fenêtres de commande. simultanément.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!