summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorb5f0d6c3 <[email protected]>2021-10-22 16:40:26 +0800
committerb5f0d6c3 <[email protected]>2021-10-22 16:40:26 +0800
commitf57e4a26bc4f712eadc202afa27be24c3454f430 (patch)
treec706e2c5a397c10e51d1231ed40485564af5cf1c
parentd4cc474ed76f8428685d6be7215bda61f8a1cf78 (diff)
update mkvlib:process hide window for windows os
-rw-r--r--mkvlib/p.go30
-rw-r--r--mkvlib/p_windows.go32
-rw-r--r--mkvlib/shared.go2
-rw-r--r--mkvlib/utils.go22
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)
}