У меня есть несколько собственных служб: ServiceOne, ServiceTwo, ServiceDontService. Эти службы я зарегистрировал в Windows и они отображаются в окне "Службы".
Теперь я хочу написать службу которая будет запускать все эти службы по порядку. Вопрос таков, как из кода запустить конкретную службу? Я не смог найти данной информации, подскажите пожалуйста как такое делается?
Это нужно мне что бы после включения компьютера автоматом запускалась данная служба, потом, к примеру, через 3 минуты запускалась служба ServiceOne, потом через 5 минут ServiceTwo, потом через 5 минут ServiceDontService и т.д.
Разобрался, спасибо за ссылку @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("Служба уже запущена!");
}
}
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
В общем у меня есть свои собственные службы, например: Service1, Service2, Service3
Как из строки с предложением сделать массив слов, содержащий слова и пробелы в C#? Например, из строки "I walk with" должен получиться массив, содержащий...