如何控制 Windows 的状态。在网络?特别感兴趣的是如何不让系统进入睡眠状态(如果用户长时间不使用输入设备)。当系统由于用户不活动而进入待机、睡眠或休眠状态时,如何跟踪事件,并在运行时(在某些情况下)取消它?适用于 .Net 的任何信息都会很有用。
提前致谢。
调查 WMI,Windows 管理规范。
WMI 很好地解决了这个问题,因为它提供了对 Windows 操作系统的深度控制,它有一个事件系统,并且它提供了一个 .NET 接口。
实际上,WMI 允许 .NET 应用程序(通过使用它的WMI 接口)通过这个 WMI 类获得有关系统电源事件的通知。
当然,必须考虑到Adam 评论链接以允许(或不允许)系统待机。
在 WinForms 中,您可以检测到关机。在 FormClosing 事件中,您得到FormClosingEventArgs e
. 然后您只需检查e.CloseReason == CloseReason.WindowsShutDown
- 这意味着关闭表单的原因是关闭操作系统。