想使用windows的计划任务来实现:当计算机空闲时,自动关机,避免资源浪费。
方案一:
测试了过多个软件,如shutter,WinOFFSetup,虽然功能多,但这些软件只能在用户登录时运行。而windows 11一段时间后会自动注销,查了多种设置方法没有解决。
方案二:
用AI写了检测用户空闲时间的小程序,功能正常,但做成服务后,就不正常了。即使用户有操作,也会关机。
原因是服务程序的会话,检测不到此时登录的其他用户会话的活动状态。
方案三:
之后又想到了windows的计划任务,来调用shutdown.exe,这个在用户不登录的情况也可以运行。
配置如下:
常规:
不管用户是否登录都运行
以最高权限运行
触发器,
设置为5分钟重复一次
操作:
执行命令:C:\Windows\System32\shutdown.exe
命令参数:/s /t 1800
条件设置为:
仅当计算机空闲时间超过下列值后才启动任务:1小时
等待空闲时间:1小时
虽然能够关机,但效果不对,不是预期的2小时后,把相关时间改小,多次观察调试,还是不符合预期时间。
然后看到了微软官方的解释:(很难理解)
例如,如果任务设置为仅当计算机空闲 30 分钟时启动,并且任务等待计算机空闲 10 分钟,则仅当计算机在激活触发器之前已空闲 25 分钟时,才会在 5 分钟内启动该任务。 如果计算机在触发器激活 5 分钟后进入空闲状态,则任务不会启动。
https://learn.microsoft.com/zh-cn/windows/win32/taskschd/task-idle-conditions
看这个采用的回答,还好理解一些
https://superuser.com/questions/777488/task-scheduler-what-is-wait-for-idle-for
然而测试还是不不符合预期时间。再看官方资料,无意中看到这个:
界面上有这个选项,但实际功能已弃用!!!
标签:计算机,windows,用户,分钟,任务,已弃,空闲 From: https://www.cnblogs.com/djyq/p/18241900