检查Windows电源管理是否关闭了显示屏

如果“Windows电源管理”关闭了显示器,我如何以编程方式检入Windows 7和XP? (如果我能收到一个活动,那会更好。)

我不认为它可以用于XP。 在Windows 7中,有各种与电源管理相关的好东西。 Windows API代码包是一组托管包装器,可以很容易地从C#或VB调用,并将Windows范例(如事件接收器,Windows消息和函数指针)映射到.NET(如委托和事件)。代码包附带的管理演示,这里有一些您可能喜欢的代码:

using Microsoft.WindowsAPICodePack.ApplicationServices; // . . . PowerManager.IsMonitorOnChanged += new EventHandler(MonitorOnChanged); // . . . void MonitorOnChanged(object sender, EventArgs e) { settings.MonitorOn = PowerManager.IsMonitorOn; AddEventMessage(string.Format("Monitor status changed (new status: {0})", PowerManager.IsMonitorOn ? "On" : "Off")); } 

编辑:

Windows API代码包的链接: Windows API代码包:它在哪里?

如果你想使用它就像在这篇文章中提到的那样检查: https : //stackoverflow.com/a/27709672/846232

您的应用程序将在wParam中获得带有SC_MONITORPOWER的WM_SYSCOMMAND消息(确保首先使用0xfff0和wParam)。 当屏幕保护程序启动时,它将发送类似的消息(SC_SCREENSAVE)。 如果您的目标是阻止屏幕关闭,则可以在这些屏幕上返回0,但是当用户设置了密码时这不起作用。

我想你可以使用ServiceController! 如果关闭,如何打开Windows服务。 从webapplication控制它