Maison >développement back-end >Golang >Comment masquer les fenêtres d'invite de commande lors de l'utilisation de « exec.Command » dans Go ?

Comment masquer les fenêtres d'invite de commande lors de l'utilisation de « exec.Command » dans Go ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-30 01:25:12856parcourir

How to Hide Command Prompt Windows When Using `exec.Command` in Go?

Comment masquer les fenêtres d'invite de commande avec Exec

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn