From 40c15a1b14b37f0f739a84aa4072e3eb519783e8 Mon Sep 17 00:00:00 2001 From: Ox Cart Date: Fri, 20 Feb 2015 20:38:23 -0600 Subject: [PATCH 1/2] Switched to using runhide to suppress command prompt on windows when opening UI --- open/exec_windows.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/open/exec_windows.go b/open/exec_windows.go index ac44cfa..4e91faf 100644 --- a/open/exec_windows.go +++ b/open/exec_windows.go @@ -5,6 +5,8 @@ package open import ( "os/exec" "strings" + + "github.com/getlantern/runhide" ) func cleaninput(input string) string { @@ -13,9 +15,9 @@ func cleaninput(input string) string { } func open(input string) *exec.Cmd { - return exec.Command("cmd", "/C", "start", "", cleaninput(input)) + return runhide.Command("cmd", "/C", "start", "", cleaninput(input)) } func openWith(input string, appName string) *exec.Cmd { - return exec.Command("cmd", "/C", "start", "", appName, cleaninput(input)) + return runhide.Command("cmd", "/C", "start", "", appName, cleaninput(input)) } From 94271da2d00f6d85c21257ed16a626332443095d Mon Sep 17 00:00:00 2001 From: fffw Date: Sat, 21 Feb 2015 16:46:14 +0800 Subject: [PATCH 2/2] use rundll32 to open url on windows --- open/exec_windows.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/open/exec_windows.go b/open/exec_windows.go index 4e91faf..c3ef088 100644 --- a/open/exec_windows.go +++ b/open/exec_windows.go @@ -3,10 +3,15 @@ package open import ( + "os" "os/exec" + "path/filepath" "strings" +) - "github.com/getlantern/runhide" +var ( + cmd = "url.dll,FileProtocolHandler" + runDll32 = filepath.Join(os.Getenv("SYSTEMROOT"), "System32", "rundll32.exe") ) func cleaninput(input string) string { @@ -15,9 +20,9 @@ func cleaninput(input string) string { } func open(input string) *exec.Cmd { - return runhide.Command("cmd", "/C", "start", "", cleaninput(input)) + return exec.Command(runDll32, cmd, input) } func openWith(input string, appName string) *exec.Cmd { - return runhide.Command("cmd", "/C", "start", "", appName, cleaninput(input)) + return exec.Command("cmd", "/C", "start", "", appName, cleaninput(input)) }