예제 #1
0
        static void Main(string[] args) // Entry point
        {
            List <ServiceController> sc = null;

            try
            {
                if (args.Length == 0)
                {
                    throw new Exception();
                }
                sc = (from i in ArgsProcessing.ScsFrom(args) select new ServiceController(i)).ToList();
                sc = sc.Where(n => n.Status.ToString().Equals("Stopped")).ToList();
                if (sc.Count != 0)
                {
                    ArgsProcessing.IsServices = true;
                }
                else
                {
                    throw new Exception();
                }
            }
            catch { sc = null; }
            if (ArgsProcessing.IsServices)
            {
                RunProcessing.ServiceProcessing(sc, args);
            }
            if (args.Length > 0)
            {
                RunProcessing.Start(ArgsProcessing.FileFrom(args), ArgsProcessing.ArgsFrom(args));
            }
        }
예제 #2
0
 public static void ServiceProcessing(List <ServiceController> scs, string[] args) // Launch services
 {
     if (scs.Count() != 0)
     {
         if (!IsAdmin())
         {
             Runas(ArgsProcessing.ArgsToStr(args));
         }
         foreach (var i in scs)
         {
             try
             {
                 i.Start();
                 i.Refresh();
                 while (i.Status == ServiceControllerStatus.StartPending)
                 {
                     Thread.Sleep(500);
                     i.Refresh();
                 }
             }
             catch { continue; }
         }
     }
 }