public LoggingProcess(LogRichTextBox logbox)
 {
     EnableRaisingEvents = true;
     _logbox             = logbox;
     OutputDataReceived += new DataReceivedEventHandler(process_OutputDataReceived);
     ErrorDataReceived  += new DataReceivedEventHandler(process_ErrorDataReceived);
     Exited    += process_Exited;
     Errors     = "";
     OutputList = new List <string>();
 }
        public static List <String> Run(String app, String pars, LogRichTextBox logging = null)
        {
            ProcessStartInfo processStartInfo = ProcessHelper.CreateStartInfo(app, pars);
            LoggingProcess   process          = new LoggingProcess(logging);

            process.StartInfo = processStartInfo;
            bool processStarted = process.Start();

            process.BeginOutputReadLine();
            process.BeginErrorReadLine();
            process.waitForAppExitHandle.WaitOne();
            var output = process.OutputList;

            process.Dispose();
            return(output);
        }