【发布时间】:2015-05-18 16:00:04
【问题描述】:
作为网络管理员,我尝试在数周内使所有计算机保持睡眠状态(而不是关机),因为我可以安排一个任务来唤醒计算机,从而维护/检查它们,而无需实际移动到其他地方。
但有时用户只是自己关闭计算机。所以我被困住了,需要搬到那里......
我想以编程方式(C#): - 检测/捕捉窗口关闭 - 执行一种“shutdown -a”来取消它。 - 计划在任务调度器中唤醒 - 最后,使用 SLEEP 关闭计算机而不是关机。
基本上,我的目标是用睡眠代替关机,这样它就会在计划任务中唤醒。 谁能启发我一些可能性?
我尝试过的: 用这个创建了一个窗体:
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.WindowsShutDown)
{
Process.Start("shutdown", "-a");
}
}
它抛出一个错误,因为我无法再运行 cmd,因为系统正在处理关闭。
【问题讨论】:
-
这个问题可能会有所帮助 - stackoverflow.com/questions/2720125/…
-
您应该考虑使用Wake-on-LAN 解决方案。
-
标签: c# cancellation system-shutdown sleep-mode