首页 >后端开发 >Golang >如何在 Windows 上的 Golang 中为非 GUI 应用程序启动单独的命令窗口?

如何在 Windows 上的 Golang 中为非 GUI 应用程序启动单独的命令窗口?

Patricia Arquette
Patricia Arquette原创
2024-11-01 07:26:02289浏览

 How to Launch a Separate Command Window for a Non-GUI Application in Golang on Windows?

如何在 Windows 中从 Golang 启动新的命令窗口

在 Golang 中为应用程序启动单独的命令窗口可能具有挑战性程序。此问题探讨了需要具有独立输入和输出流的多个命令窗口的开发人员面临的常见问题。

问题:使用单独的窗口启动非 GUI 应用程序

用户正在尝试使用 Go 应用程序创建自定义命令窗口界面。他们在启动具有自己的窗口的应用程序的新实例时遇到了困难。事实证明,使用“os/exec”包对于非 GUI 应用程序是无效的。

解决方案:在 Windows 中使用“start”命令

解决方案在于利用执行应用程序时,“start”命令作为“cmd /c”的后缀。通过利用“./executor.exe /start C:/path/to/your/app.exe”格式,用户可以成功启动具有自己的标准输入和输出流的单独命令窗口。

以下是解决该问题的更新代码:

import (
    "os/exec"
)

func main() {
    cmd := exec.Command("cmd", "/C", "start", "./executor.exe", "/start", "C:/path/to/your/app.exe")
    err := cmd.Start()
    if err != nil {
        log.Fatal(err)  // Handle error
    }
}

此解决方案有效地为指定应用程序创建一个新的命令窗口,并配有自己的输入和输出设施,允许 Go 程序与多个命令窗口交互同时。

以上是如何在 Windows 上的 Golang 中为非 GUI 应用程序启动单独的命令窗口?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn