Maison >développement back-end >Golang >Comment empêcher l'apparition de fenêtres de ligne de commande lors de l'utilisation de « exec.Command » dans Go ?

Comment empêcher l'apparition de fenêtres de ligne de commande lors de l'utilisation de « exec.Command » dans Go ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-28 02:22:15401parcourir

How to Prevent Command Line Windows from Appearing When Using `exec.Command` in Go?

Empêcher l'apparition de la fenêtre de ligne de commande lors de l'utilisation d'Exec dans Golang

Dans Go, l'utilisation de exec.Command pour générer de nouveaux processus peut parfois provoquer un fenêtre de ligne de commande visible pour apparaître. Ce problème persiste même lorsque vous utilisez syscall.SysProcAttr.HideWindow pour supprimer la fenêtre.

Solution :

Il existe une approche alternative pour exécuter des commandes sans générer de fenêtre visible. Cette solution consiste à utiliser l'utilitaire cmd.exe pour exécuter la commande souhaitée.

Exemple de code :

import "syscall"

// Use cmd.exe to execute commands without spawning a visible window
func main() {
    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()
}

Source :

La solution originale se trouve ici : https://www.reddit.com/r/golang/comments/2c1g3x/build_golang_app_reverse_shell_to_run_in_windows/

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