A * и стоимость диагонального перемещения по 2D x, y сетке

Вы можете использовать класс System.ServiceProcess.ServiceController для поиска службы, которую хотите удалить. Следующий код предоставит вам набор сервисов, установленных на машине (свойство ServiceName - это то, что вы будете использовать для указания услуги):

ServiceController.GetServices(string machineName);

Чтобы удалить службу, вы можете вызвать команду sc например:

ProcessStartInfo psi = new ProcessStartInfo("sc");
        psi.Arguments = string.Format("{0} delete \"{1}\"", machineName, serviceName).Trim();
        psi.RedirectStandardOutput = true;
        psi.UseShellExecute = false;
        var process = Process.Start(psi);
        process.WaitForExit(timeoutMilliseconds);
        var output = process.StandardOutput.ReadToEnd();
        if (process.ExitCode != 0)
        {
            throw new Exception(string.Format("Service delete for Windows Service {0} failed.", serviceName));
        }

Вышеприведенный код попытается удалить службу и выбросить исключение, если он не сможет сделать это после timeoutMilliseconds.

0
задан user1992634 6 April 2019 в 20:54
поделиться