У меня есть форма Winform, которая позволяет мне включать и отключать все сетевые адаптеры моего 8-летнего ребенка с помощью этого кода:
Код: Выделить всё
protected override void OnStart(string[] args)
{
//start timer
SelectQuery query = new SelectQuery("Win32_NetworkAdapter","NetConnectionStatus=2");
ManagementObjectSearcher search = new ManagementObjectSearcher(query);
foreach (ManagementObject result in search.Get())
{
NetworkAdapter adapter = new NetworkAdapter(result);
adapter.Disable();
enabled = false;
}
InternetCheckTimer.Start();
}
Этот код отлично работает в форме выигрыша, если я работаю с правами администратора. Я никогда раньше не писал Win-сервис, поэтому проблема может быть в другом: я могу установить его с помощью installutil и подключить отладчик к процессу, однако точки останова не достигаются. Я пытался запустить и остановить процесс, но не могу подключить отладчик, так что, возможно, я тоже делаю это неправильно... Сейчас я предполагаю, что код выполняется, и я слишком глуп, чтобы заставить отладчик работать. Тем не менее, я думаю, что для работы моего кода требуется, чтобы у службы был администратор, как это было в форме.
Извините, если это неясно, я сделаю все возможное, чтобы прояснить это, если вам понадобится дополнительная информация.
Подробнее здесь:
https://stackoverflow.com/questions/130 ... min-rights