Maison >développement back-end >Golang >Comment puis-je exécuter des commandes dans Go sans afficher la fenêtre d'invite de commande ?

Comment puis-je exécuter des commandes dans Go sans afficher la fenêtre d'invite de commande ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-04 15:18:11347parcourir

How Can I Execute Commands in Go Without Showing the Command Prompt Window?

Masquage de la fenêtre d'invite de commande avec Exec dans Go

Lors de l'exécution de commandes dans Go à l'aide de la fonction exec.Command, il est souhaitable d'éviter d'afficher le fenêtre d'invite de commande. Bien que la définition de SysProcAttr.HideWindow sur true le masque généralement, vous pourriez rencontrer des problèmes sous Windows.

Solution :

Pour empêcher efficacement l'apparition de la fenêtre d'invite de commande, considérez la solution suivante :

import (
    "os/exec"
    "syscall"
)

// HideWindow invokes a command with hidden command prompt.
func HideWindow() error {
    cmd_path := "C:\Windows\system32\cmd.exe"
    cmd_instance := exec.Command(cmd_path, "/c", "notepad")
    cmd_instance.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
    _, err := cmd_instance.Output()
    return err
}

Remarque : Cette solution provient de [Reddit](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