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 | |
| parent | d4cc474ed76f8428685d6be7215bda61f8a1cf78 (diff) | |
update mkvlib:process hide window for windows os
| -rw-r--r-- | mkvlib/p.go | 30 | ||||
| -rw-r--r-- | mkvlib/p_windows.go | 32 | ||||
| -rw-r--r-- | mkvlib/shared.go | 2 | ||||
| -rw-r--r-- | mkvlib/utils.go | 22 |
4 files changed, 63 insertions, 23 deletions
diff --git a/mkvlib/p.go b/mkvlib/p.go new file mode 100644 index 0000000..5d54049 --- /dev/null +++ b/mkvlib/p.go @@ -0,0 +1,30 @@ +//go:build !windows + +package mkvlib + +import ( + "io" + "os" + "os/exec" +) + +func newProcess(stdin io.Reader, stdout, stderr io.Writer, dir, prog string, args ...string) (p *os.Process, err error) { + cmd := exec.Command(prog, args...) + 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 +} 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 +} diff --git a/mkvlib/shared.go b/mkvlib/shared.go index 717bb26..43904af 100644 --- a/mkvlib/shared.go +++ b/mkvlib/shared.go @@ -11,7 +11,7 @@ import ( ) const libName = "mkvlib" -const libVer = "v1.1.2" +const libVer = "v1.1.3" const LibFName = libName + " " + libVer diff --git a/mkvlib/utils.go b/mkvlib/utils.go index a76a05d..461194b 100644 --- a/mkvlib/utils.go +++ b/mkvlib/utils.go @@ -6,7 +6,6 @@ import ( "io" "math/rand" "os" - "os/exec" "path" "path/filepath" "regexp" @@ -14,27 +13,6 @@ import ( "time" ) -func newProcess(stdin io.Reader, stdout, stderr io.Writer, dir, prog string, args ...string) (p *os.Process, err error) { - cmd := exec.Command(prog, args...) - 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 -} - func newDir(path string) error { return os.MkdirAll(path, os.ModePerm) } |
