2026-08-11 19:07:05 +08:00
|
|
|
|
//go:build windows
|
|
|
|
|
|
|
|
|
|
|
|
package platform
|
|
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
|
"os/exec"
|
|
|
|
|
|
"syscall"
|
|
|
|
|
|
)
|
|
|
|
|
|
|
2026-08-15 17:18:00 +08:00
|
|
|
|
// configureHidden 同时设置 HideWindow 和 CREATE_NO_WINDOW,避免 git/wsl/探测命令闪出终端窗口。
|
2026-08-11 19:07:05 +08:00
|
|
|
|
func configureHidden(cmd *exec.Cmd) {
|
2026-08-15 17:18:00 +08:00
|
|
|
|
cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true, CreationFlags: 0x08000000} // CREATE_NO_WINDOW
|
2026-08-11 19:07:05 +08:00
|
|
|
|
}
|
2026-08-14 07:51:46 +08:00
|
|
|
|
|
|
|
|
|
|
// ConfigureDetached 供启动台启动长驻服务:隐藏窗口并放入新进程组,
|
|
|
|
|
|
// 使子进程独立于主程序运行(0x00000200 = CREATE_NEW_PROCESS_GROUP)。
|
|
|
|
|
|
func ConfigureDetached(cmd *exec.Cmd) {
|
|
|
|
|
|
cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true, CreationFlags: 0x08000000 | 0x00000200}
|
|
|
|
|
|
}
|
2026-08-19 15:46:03 +08:00
|
|
|
|
|
|
|
|
|
|
// 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}
|
|
|
|
|
|
}
|