Lancement de fenêtres de commande séparées dans Golang pour Windows
Dans une application Golang qui s'appuie sur la fenêtre de commande (CMD) pour l'interaction de l'utilisateur, il Il peut s'avérer nécessaire de générer des instances supplémentaires de l'application avec leurs propres fenêtres de commande dédiées. Bien que le package os/exec soit initialement un choix approprié, il ne parvient pas à lancer des applications non-GUI dans des fenêtres séparées.
Relever le défi
Pour réussir Pour lancer des applications non-GUI dans des fenêtres de commande distinctes, une syntaxe de commande spécifique doit être utilisée. Cela implique d'ajouter la commande start après l'invocation cmd /c. Voici comment procéder :
<code class="go">package main import ( "exec" "fmt" ) func main() { _path_to_executable_ := "C:\path\to\my_application.exe" // Create the command to start the application with a new window cmd := exec.Command("cmd", "/C", "start", _path_to_executable_) // Execute the command err := cmd.Start() if err != nil { fmt.Println(err) } }</code>
En incorporant cette structure de commande modifiée, l'application Golang peut lancer avec succès des instances supplémentaires d'elle-même dans des fenêtres de commande distinctes, chacune avec ses propres stdin et stdout.
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!