Esempio n. 1
0
        public static ProcessThread ExecuteProcessInSeparateThread(ProcessStartInfo processStartInfo, int maxStackSizeInMB, 
            ProcessWriteLineRedirectDelegate processWriteLineRedirectDelegate, ProcessThreadCompleteHandler completeHandler)
        {
            var processThread = new ProcessThread(processStartInfo, completeHandler, processWriteLineRedirectDelegate);

            Thread thread = null;
            if (maxStackSizeInMB > 0)
                thread = new Thread(new ThreadStart(processThread.Start), maxStackSizeInMB * 1024 * 1024);
            else
                thread = new Thread(new ThreadStart(processThread.Start));

            thread.Start();

            return processThread;
        }
 public ProcessThread(ProcessStartInfo startInfo, ProcessThreadCompleteHandler completeHandler, ProcessWriteLineRedirectDelegate processWriteLineRedirectDelegate)
     : this(startInfo, completeHandler, 0, processWriteLineRedirectDelegate)
 {
 }
 public ProcessThread(ProcessStartInfo startInfo, ProcessThreadCompleteHandler completeHandler, int secondsToTimeout, ProcessWriteLineRedirectDelegate processWriteLineRedirectDelegate)
     : this(startInfo, completeHandler, secondsToTimeout)
 {
     this.WriteLineRedirect = processWriteLineRedirectDelegate;
 }
 public static void ExecuteProcessInSeparateThread(ProcessStartInfo processStartInfo,
                                                   ProcessWriteLineRedirectDelegate processWriteLineRedirectDelegate, ProcessThreadCompleteHandler completeHandler)
 {
     ExecuteProcessInSeparateThread(processStartInfo, 0, processWriteLineRedirectDelegate, completeHandler);
 }