diff options
| author | b5f0d6c3 <[email protected]> | 2021-10-22 16:40:26 +0800 |
|---|---|---|
| committer | b5f0d6c3 <[email protected]> | 2021-10-22 16:40:26 +0800 |
| commit | f57e4a26bc4f712eadc202afa27be24c3454f430 (patch) | |
| tree | c706e2c5a397c10e51d1231ed40485564af5cf1c /mkvlib/p_windows.go | |
| parent | d4cc474ed76f8428685d6be7215bda61f8a1cf78 (diff) | |
update mkvlib:process hide window for windows os
Diffstat (limited to 'mkvlib/p_windows.go')
| -rw-r--r-- | mkvlib/p_windows.go | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/mkvlib/p_windows.go b/mkvlib/p_windows.go new file mode 100644 index 0000000..474b48a --- /dev/null +++ b/mkvlib/p_windows.go @@ -0,0 +1,32 @@ +//go:build windows + +package mkvlib + +import ( + "io" + "os" + "os/exec" + "syscall" +) + +func newProcess(stdin io.Reader, stdout, stderr io.Writer, dir, prog string, args ...string) (p *os.Process, err error) { + cmd := exec.Command(prog, args...) + cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true} + if dir != "" { + cmd.Dir = dir + } + if stdin != nil { + cmd.Stdin = stdin + } + if stdout != nil { + cmd.Stdout = stdout + } + if stderr != nil { + cmd.Stderr = stderr + } + err = cmd.Start() + if err == nil { + p = cmd.Process + } + return +} |
