//go:build windows package platform import ( "os/exec" "syscall" ) // configureHidden 同时设置 HideWindow 和 CREATE_NO_WINDOW,避免 git/wsl/探测命令闪出终端窗口。 func configureHidden(cmd *exec.Cmd) { cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true, CreationFlags: 0x08000000} // CREATE_NO_WINDOW } // ConfigureDetached 供启动台启动长驻服务:隐藏窗口并放入新进程组, // 使子进程独立于主程序运行(0x00000200 = CREATE_NEW_PROCESS_GROUP)。 func ConfigureDetached(cmd *exec.Cmd) { cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true, CreationFlags: 0x08000000 | 0x00000200} } // ConfigureUpdaterHelper 启动更新辅助脚本:隐藏控制台,并尽量脱离父进程作业对象, // 避免主程序退出时把安装器一起杀掉。 // CREATE_NO_WINDOW | CREATE_NEW_PROCESS_GROUP | CREATE_BREAKAWAY_FROM_JOB func ConfigureUpdaterHelper(cmd *exec.Cmd) { cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true, CreationFlags: 0x08000000 | 0x00000200 | 0x01000000} }