首页 > 后端开发 > Golang > 在 Go 中使用 exec.Command 时如何防止出现命令行窗口?

在 Go 中使用 exec.Command 时如何防止出现命令行窗口?

Mary-Kate Olsen
发布: 2024-11-28 02:22:15
原创
380 人浏览过

How to Prevent Command Line Windows from Appearing When Using `exec.Command` in Go?

在 Golang 中使用 Exec 时防止出现命令行窗口

在 Go 中,使用 exec.Command 生成新进程有时会导致出现可见的命令行窗口。即使利用 syscall.SysProcAttr.HideWindow 抑制窗口,此问题仍然存在。

解决方案:

存在另一种方法来执行命令而不生成可见窗口。此解决方案涉及使用 cmd.exe 实用程序执行所需的命令。

代码示例:

import "syscall"

// Use cmd.exe to execute commands without spawning a visible window
func main() {
    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/

以上是在 Go 中使用 exec.Command 时如何防止出现命令行窗口?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板