private static void ExecuteOption(Param param, Process process) { Options option = param.Option; switch (option) { case Options.List: process.Print(); break; case Options.Kill: process.Kill(); break; case Options.Suspend: process.Suspend(); break; case Options.Resume: process.Resume(); break; default: throw new ArgumentException(argumentMessage); } }
public static Param ProcessParam(string rawParam) { int result; var param = new Param(); if (int.TryParse(rawParam, out result)) { param.PId = result; } else { param.PId = 0; param.Expression = rawParam; } return param; }
private static void ExecuteOption(Param param) { if (param.PId != 0) { var process = Process.GetProcessById(param.PId); ExecuteOption(param, process); return; } if (param.Expression != null) { var list = Process.GetProcesses().Where(x => x.ProcessName.IndexOf(param.Expression,StringComparison.OrdinalIgnoreCase)>=0); foreach (var process in list) ExecuteOption(param, process); return; } }