Exemplo n.º 1
0
        private void StartProcess(string process, string args)
        {
            var startInfo = new ProcessStartInfo
            {
                FileName  = process,
                Arguments = args,
                RedirectStandardOutput = true,
                RedirectStandardError  = true,
                UseShellExecute        = false,
                CreateNoWindow         = true
            };

            var processTemp = new Process
            {
                StartInfo           = startInfo,
                EnableRaisingEvents = true
            };

            processTemp.Exited             += ProcessTemp_Exited;
            processTemp.OutputDataReceived += ProcessTemp_DataReceived;
            processTemp.ErrorDataReceived  += ProcessTemp_DataReceived;

            try
            {
                IncrementProcesses();
                processTemp.Start();
                processTemp.BeginOutputReadLine();
                processTemp.BeginErrorReadLine();
            }
            catch (Exception e)
            {
                statusManager.ChangeStatusText($"Error: Could not start process. Exception: {e}");
            }
        }