public int?GetExitCode() { InteropMethods.GetExitCodeProcess(myProcessHandle, out var exitCode); if (exitCode != InteropMethods.STILL_ACTIVE) { return(exitCode); } return(null); }
public int?WaitForExit(TimeSpan timeout) { var waitTime = Stopwatch.StartNew(); do { InteropMethods.GetExitCodeProcess(myProcessHandle, out var exitCode); if (exitCode != InteropMethods.STILL_ACTIVE) { return(exitCode); } Thread.Sleep(33); } while (waitTime.Elapsed < timeout); return(null); }