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); }