Служба запускающая службы

137
03 июня 2019, 03:10

У меня есть несколько собственных служб: ServiceOne, ServiceTwo, ServiceDontService. Эти службы я зарегистрировал в Windows и они отображаются в окне "Службы".

Теперь я хочу написать службу которая будет запускать все эти службы по порядку. Вопрос таков, как из кода запустить конкретную службу? Я не смог найти данной информации, подскажите пожалуйста как такое делается?

Это нужно мне что бы после включения компьютера автоматом запускалась данная служба, потом, к примеру, через 3 минуты запускалась служба ServiceOne, потом через 5 минут ServiceTwo, потом через 5 минут ServiceDontService и т.д.

Answer 1

Разобрался, спасибо за ссылку @AK

Вот как по порядку можно запускать службы:

static class Program
    {
        static void Main()
        {
            var services = new string[] {"Телефонная связь", "Центр обновления Windows"};
            ServiceBase[] ServicesToRun;
            ServicesToRun = new ServiceBase[]
            {
                new Service1()
            };
            ServiceBase.Run(ServicesToRun);
            foreach (var service in services)
            {
                StartService(service);
            }
        }
        // Запуск службы
        public static void StartService(string serviceName)
        {
            ServiceController service = new ServiceController(serviceName);
            // Проверяем не запущена ли служба
            if (service.Status != ServiceControllerStatus.Running)
            {
                // Запускаем службу
                service.Start();
                // В течении минуты ждём статус от службы
                service.WaitForStatus(ServiceControllerStatus.Running, TimeSpan.FromMinutes(1));
                Console.WriteLine("Служба была успешно запущена!");
            }
            else
            {
                Console.WriteLine("Служба уже запущена!");
            }
        }
    }
READ ALSO
Перезапуск службы

Перезапуск службы

В общем у меня есть свои собственные службы, например: Service1, Service2, Service3

164
Разбить строку оставив разделители

Разбить строку оставив разделители

Как из строки с предложением сделать массив слов, содержащий слова и пробелы в C#? Например, из строки "I walk with" должен получиться массив, содержащий...

149