Отключить службу Windows при запуске приложения
из-за конфликт VLC Я должен отключить расширенные текстовые службы Windows при запуске приложения. Есть ли для этого специальный API? Будет ли он работать для пользователя с правами по умолчанию?
5 ответов
ServiceController _ServiceController = new ServiceController([NameService]);
if (!_ServiceController.ServiceHandle.IsInvalid)
{
_ServiceController.Stop();
_ServiceController.WaitForStatus(ServiceControllerStatus.Stopped, TimeSpan.FromMilliseconds(uConstante.CtTempoEsperaRespostaServico));
}
вопрос называется "отключить службу Windows...- но все ответы говорят о том, как остановить службу.
большая часть того, что вы найдете в Google, заключается в том, что вы можете обновить реестр, чтобы отключить службу, используя что-то вроде этого:
RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SYSTEM\CurrentControlSet\Services\[YourServiceName]", true);
key.SetValue("Start", 4);
Я не пробовал этот метод, но кажется, что он будет работать. Я также придумал другой метод, который использует sc.exe для отключения услуги:
Process sc = Process.Start("sc.exe", "config [YourServiceName] start= disabled");
можно использовать ServiceController
класс для этого. Примеры кода приведены на странице связанная документация.
для этого можно использовать WMI.
посмотрите здесь, например:http://www.csharpfriends.com/Articles/getArticle.aspx?articleID=114
просто выполните "net stop service-name", чтобы остановить службу или" net start service-name", чтобы запустить службу. введите "net start" в консоли (cmd.exe) для того, чтобы перечислить все услуги.
вам нужны права администратора, чтобы включить / отключить службы.