【问题标题】:How to run arbitrary code when windows resumes from hibernate?Windows从休眠状态恢复时如何运行任意代码?
【发布时间】:2026-01-07 08:25:01
【问题描述】:

当我的计算机从休眠状态恢复时(甚至在我登录之前),我需要运行一些代码。我使用的笔记本电脑有一个奇怪的问题。如果我在从休眠状态恢复时连接了外接显示器,则笔记本电脑会选择外接显示器作为主要视频设备,并且笔记本电脑屏幕保持空白。当有时两个显示器都无限期地保持空白时,这变得更加令人沮丧。

我正在考虑编写一些代码,以便在计算机从休眠状态恢复时将活动显示切换回笔记本电脑屏幕。但是我需要从哪个 Windows 事件开始?

用于切换显示的内置热键也停止工作。到现在我已经重装了几次操作系统,几天后一切顺利,然后又恢复原状。

【问题讨论】:

  • 切换显示的内置热键不起作用?
  • 我已经更新了我的问题来回答你的问题!
  • 至少 ThinkPad 有自己的处理显示的实用程序,更新它解决了我工作笔记本电脑上的很多问题。如果您已重新安装操作系统,则这些实用程序可能尚未更新到最新版本。

标签: windows winapi


【解决方案1】:

CodeProject 上的 article 讨论了与节能事件相关的各种 Windows 消息。

【讨论】:

  • 虽然理论上这可以回答这个问题,it would be preferable 在这里包含答案的基本部分,特别是因为该链接已失效。
【解决方案2】:

我认为大多数笔记本电脑都有这个问题。这似乎不是他们能够在驱动程序/ACPI BIOS 中解决的问题。

我知道 Linux 允许您修改 ACPI 表,但我不记得这在 Windows 上是否可行。

Google 应提供可用于在 Windows 中检查笔记本电脑 ACPI 表的工具的链接(MS 工具 IIRC)。

【讨论】: