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