gpt4 book ai didi

windows - 在 Windows XP 上监视显示器电源事件

转载 作者:可可西里 更新时间:2023-11-01 12:53:17 24 4
gpt4 key购买 nike

在 Windows 上,只有焦点应用程序通过 WM_SYSCOMMAND 接收显示电源事件消息(wParam 设置为 SC_MONITORPOWERlParam 表示新的电源状态)。

在 Windows Vista 和更高版本上,任何应用程序都可以通过调用 RegisterPowerSettingNotification 来通知显示电源事件。功能,使用 GUID_SESSION_DISPLAY_STATUS GUID。

有没有办法在 Windows XP 上在应用程序级别(即不使用在内核模式下运行的代码)实现相同的结果?

最佳答案

您需要做的就是处理 WM_SYSCOMMAND。我能想到的选项:

  • 为此使用 SetWindowsHookEx(使用 WH_CBT)。

  • 将一个 DLL 注入(inject)到每个 Hook CreateProcess 的进程中,并将其自身注入(inject)到所有 future 的进程中,实质上是 Hook 整个系统。前面提到的 DLL 将子类化当前进程中的所有窗口,您可以从那里处理 WM_SYSMESSAGE

关于windows - 在 Windows XP 上监视显示器电源事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9363973/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com