lor*_*ova 8 windows winapi windows-xp
在Windows上,只有焦点应用程序通过WM_SYSCOMMAND消息接收显示电源事件(wParam设置为SC_MONITORPOWER,并lParam表示新的电源状态).
在Windows Vista及更高版本中,可以使用GUID 通过调用该函数来通知任何应用程序显示电源事件.RegisterPowerSettingNotificationGUID_SESSION_DISPLAY_STATUS
有没有办法在Windows XP上,在应用程序级别上实现相同的结果(即不使用在内核模式下运行的代码)?
小智 2
您所需要做的就是处理WM_SYSCOMMAND。我能想到的选项:
用于SetWindowsHookEx此目的(与WH_CBT)。
将 DLL 注入到每个挂钩 CreateProcess 的进程中,并将其自身注入到所有未来的进程中,本质上是挂钩整个系统。然后,上述 DLL 将对当前进程中的所有窗口进行子类化,您可以WM_SYSMESSAGE从那里进行处理。
| 归档时间: |
|
| 查看次数: |
936 次 |
| 最近记录: |