Здравствуйте! У меня такой вопрос как назначить права доступа приложению к отключению служб Windows?
Вот в принципе код реализации отключения службы:
namespace StopService
{
class Program
{
static void Main(string[] args)
{
ServiceController sc;
string serviceName;
TimeSpan timeout = new TimeSpan(0, 0, 30);
OperatingSystem os;
os = Environment.OSVersion;
if (os.Platform != PlatformID.Win32NT)
{
throw new PlatformNotSupportedException("Для работы нужна OC Windows NT, 2000, XP или выше");
}
os = null;
// Имя сервиса
serviceName = "RemoteRegistry";
// создаем контроллер
sc = new ServiceController(serviceName);
// проверяем статус процесса
if (sc.Status == ServiceControllerStatus.Running)
{
// процесс можно остановить?
if (sc.CanStop)
{
Console.WriteLine("Останов сервиса {0}", serviceName);
sc.Stop();
try{
// подождем 30 секунд
sc.WaitForStatus(ServiceControllerStatus.Stopped, timeout);
Console.WriteLine("Сервис {0} успешно останвлен", serviceName);
}
catch(System.ServiceProcess.TimeoutException)
{
Console.WriteLine("Не удалось остановить сервис {0}", serviceName);
}
}
else
{
Console.WriteLine("Сервис {0} не может быть остановлен",serviceName);
}
}
Console.ReadKey();
}
}
}
Как я понимаю права доступа назначаются в файле проекта AssemblyInfo.cs вот только вопрос как ? И какой класс использовать для назначения прав доступа ? Или возможно назначить права приложению , ну допустим администратора.
Заранее спасибо!