我正在寻找一些嵌入在 Windows 中的任务,这些任务在系统进入空闲状态时运行(例如计划碎片整理、系统还原、DefenderScan 和 RegistryBackup)。
但是,即使我让系统停止 3 到 4 分钟,我也看不到任何任务开始运行。
Windows 使用什么标准将系统状态置于空闲状态?
答案1
这SYSTEM_POWER_POLICY
结构包含一个IdleTimeout
字段和一个IdleSensitivity
字段,每个字段的描述如下:
空闲超时:系统空闲计时器到期之前系统活动级别必须保持在空闲检测阈值以下的时间(以秒为单位)。
空闲敏感度:定义空闲检测阈值的系统活动级别,以百分比表示。
所以这意味着只要系统活动IdleSensitivity
至少持续一段时间低于IdleTimeout
,它就被视为空闲。
我不知道如何在不编写程序的情况下实际读取/写入这些值,抱歉。:(
答案2
注册表中有一个 DWORD,位于HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SchedulingAgent\MinutesBeforeIdle
。其默认值为 15。
还有一个命令可以强制运行空闲任务:
rundll32.exe advapi32.dll,ProcessIdleTasks