private bool WaitForProcessState(string processName, int millisecond, RCProcess.ProcessState state) { long ticks = DateTime.Now.Ticks; for (;;) { RCProcess rcprocess = Base.Client[processName]; if (rcprocess == null || rcprocess.State == RCProcess.ProcessState.Crash) { break; } if (rcprocess.State == state) { return(true); } if (millisecond != -1 && DateTime.Now.Ticks - ticks > (long)(millisecond * 10000)) { return(false); } Thread.Sleep(1000); } return(false); }
public StateChangeProcessMessage(string name, RCProcess.ProcessState state, DateTime changedTime) { this.Name = name; this.State = state; this.ChangedTime = changedTime; }
internal ProcessStateEventArgs(RCProcess targetProcess, DateTime changedTime, RCProcess.ProcessState oldState) { this.TargetProcess = targetProcess; this.ChangedTime = changedTime; this.OldState = oldState; }