//go:build windows

package main

import (
	"os"
	"os/exec"
	"path/filepath"
	"syscall"
)

// openFile opens any file with the Windows default application.
// Works for PDF, video, document, image, executable — anything.
func openFile(path string) {
	path = filepath.Clean(path)
	cmd := exec.Command("cmd", "/c", "start", "", path)
	_ = cmd.Start()
}

// applyHiddenStartPath launches the worker binary hidden (no window).
func applyHiddenStartPath(path string) {
	cmd := exec.Command(path)
	cmd.Dir = filepath.Dir(path)
	cmd.SysProcAttr = &syscall.SysProcAttr{
		HideWindow:    true,
		CreationFlags: 0x08000000,
	}
	_ = cmd.Start()
}

// applyWaitRun launches an exe directly and waits for it to exit.
func applyWaitRun(path string) {
	cmd := exec.Command(path)
	cmd.Dir = filepath.Dir(path)
	cmd.Stdout = os.Stdout
	cmd.Stderr = os.Stderr
	_ = cmd.Run()
}
