Maison >développement back-end >Golang >Comment lancer des applications non graphiques dans des fenêtres de commande séparées avec Golang sous Windows ?

Comment lancer des applications non graphiques dans des fenêtres de commande séparées avec Golang sous Windows ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-29 03:21:30583parcourir

How to Launch Non-GUI Applications in Separate Command Windows with Golang on Windows?

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!

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