作为网络管理员,我尝试在数周内使所有计算机保持睡眠状态(而不是关机),因为我可以安排一项任务来唤醒计算机,从而维护/检查它们,而无需将物理移动到其他地方.
但有时用户只是自己关闭计算机。所以我被困住了,需要搬到那里......
我想以编程方式(C#): - 检测/捕获 Windows 关机 - 执行一种“shutdown -a”来取消它。- 计划在任务调度程序中唤醒 - 最后,使用 SLEEP 关闭计算机而不是关机。
基本上,我的目标是用睡眠替换关机,这样它就会在计划任务中唤醒。谁能启发我一些可能性?
我尝试过的:用这个创建了一个windows窗体:
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.WindowsShutDown)
{
Process.Start("shutdown", "-a");
}
}
它会引发错误,因为系统正在处理关闭,因此我无法再运行 cmd。