Files
code-utils/platform/process_windows.go

27 lines
1.0 KiB
Go
Raw Normal View History

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}
}
// 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}
}