Maison >développement back-end >Golang >Comment masquer les fenêtres d'invite de commande lors de l'utilisation de « exec.Command » dans Go ?
Dans Go, lorsque vous utilisez un appel système pour masquer les fenêtres de ligne de commande à l'aide de exec.Command(name, args...), certains utilisateurs rencontrent un problème persistant : la fenêtre réapparaît après compilation dans les environnements Windows.
Cette question cherche à découvrir une solution pour empêcher la fenêtre de ligne de commande de se matérialiser. Alors que la technique de compilation des sources Go dans les exécutables de l'interface graphique Windows à l'aide de go build -ldflags -H=windowsgui supprime efficacement la fenêtre de lancement du programme lui-même, Exec continue de produire des fenêtres visibles.
Solution :
Il existe une solution supérieure qui permet à exec.Command() de s'exécuter sans afficher de message visible. window.
import syscall cmd_path = "C:\Windows\system32\cmd.exe" cmd_instance = exec.Command(cmd_path, "/c", "notepad") cmd_instance.SysProcAttr = &syscall.SysProcAttr{HideWindow: true} cmd_output, err := cmd_instance.Output()
Ce code importe l'appel système et attribue le chemin de commande, les arguments et l'attribut HideWindow à l'objet cmd_instance. Par la suite, il exécute la commande et stocke la sortie dans cmd_output.
Cette approche dissimule avec succès les fenêtres de ligne de commande tout en utilisant exec.Command() dans Go, répondant ainsi efficacement à la requête initiale.
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!