当前位置: 首页 > 面试题库 >

在Golang中使用Exec时如何隐藏命令提示符窗口?

拓拔弘亮
2023-03-14
问题内容

说我有以下代码,syscall用于隐藏命令行窗口

process := exec.Command(name, args...)
process.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
err := process.Start()
if err != nil {
    log.Print(err)
}

但是当我编译它并尝试在Windows中运行时,命令行窗口再次出现

我如何防止命令行窗口出现?

PS我已经知道如何使用来将golang源代码编译为Windows GUI可执行文件go build -ldflags -H=windowsgui,但这样做只能确保程序本身不会弹出命令行窗口,Exec无论如何都将显示这些窗口


问题答案:

有一个更好的解决方案,可以在exec.Command()不生成可见窗口的情况下运行(͡°͜ʖ͡°)。

这是我的代码:

首先 import "syscall"

cmd_path := "C:\\Windows\\system32\\cmd.exe"
cmd_instance := exec.Command(cmd_path, "/c", "notepad")
cmd_instance.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
cmd_output, err := cmd_instance.Output()

来源:https
:
//www.reddit.com/r/golang/comments/2c1g3x/build_golang_app_reverse_shell_to_run_in_windows/



 类似资料:
  • 问题内容: 当我的python脚本运行时,如何从桌面上删除此黑色命令提示符屏幕? 我使用python 2 exe将service.py脚本制作为exe。一切正常,但是当.exe运行时,我有一个固定的命令提示符,我不想显示。 service.py: setup.py: 问题答案: 在setup.py文件中,您必须改为编写。 像这样:

  • 本文向大家介绍Windows运行bat批处理文件时隐藏cmd命令提示符窗口的方法,包括了Windows运行bat批处理文件时隐藏cmd命令提示符窗口的方法的使用技巧和注意事项,需要的朋友参考一下 我们在Windows中运行bat批处理文件时往往会弹出一个cmd命令提示符窗口,然后等一会儿cmd窗口就自动关闭了,有人会说,直接在bat批处理文件中加入echo off命令么好了,没错,echo off

  • 我想让我的Bash脚本对最终用户来说更加优雅。当Bash执行命令时,如何隐藏输出? 例如,当Bash执行时 以下内容将显示给执行Bash的用户: 现在我想对用户隐藏这一点,而是显示: 我怎样才能完成这项任务?我一定会帮助使脚本更加用户友好。如果发生错误,则应向用户显示。 我想知道如何显示相同的消息,而一组命令正在执行。

  • 是的,我知道你可能会抱怨说这是件坏事,但我还是想做! 我正在创建一个批处理程序,最后,我需要它挂起,不接受用户输入。我知道一种方法就是创建一个无限循环: 但是我不认为这是一个很好的选择。虽然我需要它挂起来,但我需要能够通过窗口顶部的红色“X”关闭按钮关闭。 有什么想法吗?

  • 请问如何在 命令提示符 中使用 fnm? 准寻官网里面的 autorun 设置 往 fnm_init.cmd 添加 然后 在注册表添加 autorun 字符串 结果卡住了不能用

  • 我正在使用下面的代码进行屏幕截图,但我只想隐藏窗口任务栏。在没有输入尺寸的情况下,是否有任何特定的代码。我不想输入dimension,因为每台电脑都有不同的。。请建议。提前谢谢。 机器人=新机器人();维度screenSize=Toolkit。getDefaultToolkit()。getScreenSize();矩形captureRect=新矩形(Toolkit.getDefaultToolki