有没有人知道是否有一个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 的讨论,表明没有可靠的方法来做到这一点.
其他人还有其他想法吗?
我正在编写一个应用程序,有时会以烤面包机消息的形式向用户发送通知.
如果用户不在,他看不到通知.所以我想做的是能够检查用户是否已锁定屏幕或是否正在激活屏幕保护程序.
当用户重新登录并恢复其会话时,在用户看不到它时触发的任何通知都将被延迟并显示.
我自己在Windows 7上,但我更喜欢一种适用于Windows XP及以上版本的解决方案.
我想在关闭时打开Windows服务.是否可以使用c#从Web应用程序中获取代码?我正在使用asp.net mvc和c#.