有什么办法来检测Windows中的监视器状态(开或关)?
有谁知道是否有一个API可以在Windows(XP / Vista / 2000/2003)中获得当前的监视器状态(打开或关闭)?
我所有的搜索似乎都表明没有真正的方法来做到这一点。
此线程尝试使用根据Microsoft文档的GetDevicePowerState不适用于显示设备。
在Vista中,我可以收听GUID_MONITOR_POWER_ON,但手动关闭显示器时似乎没有发生事件。
在XP中,我可以挂接到WM_SYSCOMMAND
SC_MONITORPOWER
,查找状态2.这仅适用于系统触发断电的情况。
WMI Win32_DesktopMonitor
类似乎也没有帮助。
编辑 :这是关于comp.os.ms-windows.programmer.win32的讨论,指出没有可靠的方法来做到这一点。
任何人有任何其他想法?
GetDevicePowerState有时适用于显示器。 如果存在,您可以打开。 LCD设备。 完成后立即关闭它。
本质上,你不走运 - 没有可靠的方法来检测显示器的电源状态,没有写设备驱动程序,并过滤显示驱动器链上的所有电源IRP。 这也不是很可靠。
你可以连接网络摄像头,将它指向你的屏幕,并对你收到的图像做一些分析;)
在根据显示器状态做任何事情之前,请记住用户可以使用其他系统的远程桌面的计算机,这些计算机不需要连接到计算机的显示器 - 所以不要根据显示器状态关闭任何可视化。
链接地址: http://www.djcxy.com/p/47465.html上一篇: Is there any way to detect the monitor state in Windows (on or off)?
下一篇: How to block YouTube watermark link on embedded YouTube video