在golang中,如何在程序完成时保持控制台窗口打开,通过双击启动exe

时间:2016-05-06 12:21:30

标签: windows go

通过双击.exe启动时在Windows中

当程序由os.Exit(...)完成时 所以,无论如何都要保持控制台窗口打开,就像自动运行cmd命令一样。 我不想要一些PAUSE或其他东西的解决方案让它等待关闭。我需要完成退出程序,并保持控制台窗口。

顺便说一句,我认为打开另一个控制台窗口的某种方式,但是使用此代码失败



c :=exec.Command("start")

	if err := c.Run(); err != nil {
		fmt.Println("Error: ", err)
	}
	os.Exit(0)




3 个答案:

答案 0 :(得分:2)

如果您需要程序完全退出,但保持窗口打开,请从控制台运行该程序。

  1. win+r
  2. 输入cmd
  3. 输入
  4. 导航到您拥有二进制文件的文件夹,使用cd myFolder移至文件夹,cd ..移动一个文件夹
  5. 键入./myBinary.exe并按Enter
  6. 运行二进制文件
  7. 二进制完成运行,控制台保持打开状态。
  8. 修改
    要能够双击,在批处理文件中使用暂停是最简单的解决方案:

    launch.bat

    ./myBinary.exe
    pause
    

    保存在与二进制文件相同的文件夹中,然后双击以运行。

    如果您真的想要,您可以使用您选择的语言编写与该批处理文件相同的程序。

答案 1 :(得分:0)

  顺便说一句,我认为打开另一个控制台窗口的某种方式,但是失败了   代码

如果使用 / k 选项使用 cmd.exe 处理器运行 your_executable.exe ,它应运行可执行文件并保留控制台打开。

cmd.exe /k your_executable.exe

答案 2 :(得分:0)

您可以致电fmt.Scanf()。我知道这是黑客,您不想在生产应用程序中这样做,但是它可以工作。

package main

import "fmt"

func main() {
    fmt.Printf("hello, world\n")
    fmt.Scanf("h")
}