如何在 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中文网其他相关文章!