2015-05-18 9 views
0

Как сетевой администратор, я стараюсь, чтобы все мои компьютеры находились в спящем режиме в течение недель (вместо выключения), потому что я могу запланировать задачу, чтобы разбудить компьютеры и так поддерживать/проверять их без необходимости перемещать физически в другие места.Предотвращение выключения и замена его на спящий режим

Но иногда пользователи просто выключают компьютеры сами. Так что я застрял и нужно двигаться туда ...

Я хотел бы programaticaly (C#): - обнаружение/уловах окна завершения работы - выполнить своего рода «выключения -a», чтобы отменить его. - планировать пробуждение в планировщике задач - окончательно выключить компьютер, используя SLEEP, а не выключение.

Basicaly, моя цель - заменить Shutdown by Sleep, чтобы он проснулся по запланированной задаче. Может ли кто-нибудь рассказать мне о некоторых возможностях?

, что я попробовал еще: Создано окна образуют с этим:

private void Form1_FormClosing(object sender, FormClosingEventArgs e) 
    { 
     if (e.CloseReason == CloseReason.WindowsShutDown) 
     { 
      Process.Start("shutdown", "-a"); 
     } 
    } 

Он выдает ошибку, потому что я наклоняю запустить CMD больше, так как система обработки отключения.

+1

Этот вопрос может быть полезным - http://stackoverflow.com/questions/2720125/how-cancel-shutdown-from-a-windows -service-c-sharp? rq = 1 –

+1

Вы должны рассмотреть решение [Wake-on-LAN] (http://en.wikipedia.org/wiki/Wake-on-LAN). –

+0

@ DanielKelley DLLIMPORT из вашей ссылки интересен, но я не знаю, где его использовать, и как именно, его трудно найти в Google, чтобы найти любой пример кода C#. – user3916429

ответ