有没有人知道在Windows(XP/Vista/2000/2003)中获取当前显示器状态(开启或关闭)的API?
我的所有搜索似乎都表明没有真正的方法来做到这一点。
这个线程 尝试使用 GetDevicePowerState,但根据微软文档,它不能用于显示设备。
在Vista中,我可以监听 GUID_MONITOR_POWER_ON 但当手动关闭监视器时,看起来我并没有收到事件。
在XP中,我可以钩取 WM_SYSCOMMAND
SC_MONITORPOWER
,寻找状态2。 这仅适用于系统触发的关闭情况。
WMI Win32_DesktopMonitor
类似乎也无助于解决这个问题。
编辑:这里是关于comp.os.ms-windows.programmer.win32的 讨论,表明没有可靠的方法来做到这一点。
还有其他人有什么其他想法吗?