我第一次启动 Windows 7 计算机时,如果我停止使用它,它就会处于空闲状态 - 首先屏幕保护程序启动,然后计算机在一段时间后进入睡眠状态。这是预期的行为。
但是,在我使用计算机一段时间而没有重新启动之后(大约一天左右),我注意到它不再处于空闲状态 - 屏幕保护程序不会启动,并且计算机不会进入睡眠状态,无论它闲置了多长时间。
我已通过 GetLastInputInfo 确认空闲计时器按预期增加。但是,似乎有什么东西干扰了 CallNtPowerInformation 的结果。每 14 或 16 秒,当我查询 SystemPowerInformation 时,TimeRemaining 值就会跳回到其最大值。
我使用 SysInternals 进程监视器来检测可能触发此重置的任何异常事件,但一无所获。有谁知道 TimeRemaining 重置为最大值的可能原因到底是什么?
我相当确定不是我的鼠标、键盘或网络发送了虚假事件,因为我已禁用它们,但问题仍然存在。这还会重置 GetLastInputInfo 计时器,但这种情况并没有发生。我正在寻找影响 SystemPowerInformation TimeRemaining 的东西,但确实不是影响 GetLastInputInfo。
谢谢。
答案1
我上次使用这个已经有一段时间了,但我记得用以下方法解决了类似的问题MCE 待机工具在 Windows 7 上,即使它不正式支持该版本的 Windows。