diff --git a/v2rayN/v2rayN/Handler/V2rayHandler.cs b/v2rayN/v2rayN/Handler/V2rayHandler.cs index 0ccdb651..99efa90f 100644 --- a/v2rayN/v2rayN/Handler/V2rayHandler.cs +++ b/v2rayN/v2rayN/Handler/V2rayHandler.cs @@ -200,6 +200,7 @@ namespace v2rayN.Handler WorkingDirectory = Utils.StartupPath(), UseShellExecute = false, RedirectStandardOutput = true, + RedirectStandardError = true, CreateNoWindow = true, StandardOutputEncoding = Encoding.UTF8 } @@ -217,6 +218,11 @@ namespace v2rayN.Handler //processId = p.Id; _process = p; + if (p.WaitForExit(1000)) + { + throw new Exception(p.StandardError.ReadToEnd()); + } + Global.processJob.AddProcess(p.Handle); } catch (Exception ex) @@ -248,6 +254,7 @@ namespace v2rayN.Handler UseShellExecute = false, RedirectStandardInput = true, RedirectStandardOutput = true, + RedirectStandardError = true, CreateNoWindow = true, StandardOutputEncoding = Encoding.UTF8 } @@ -266,6 +273,11 @@ namespace v2rayN.Handler p.StandardInput.Write(configStr); p.StandardInput.Close(); + if (p.WaitForExit(1000)) + { + throw new Exception(p.StandardError.ReadToEnd()); + } + Global.processJob.AddProcess(p.Handle); return p.Id; } @@ -273,7 +285,7 @@ namespace v2rayN.Handler { Utils.SaveLog(ex.Message, ex); string msg = ex.Message; - ShowMsg(true, msg); + ShowMsg(false, msg); return -1; } }