检查显示器是否被windows电源管理关闭

本文关键字:管理 电源 windows 显示器 是否 检查 | 更新日期: 2023-09-27 18:00:39

如果"Windows电源管理"已关闭显示器,我如何在Windows 7和XP中以编程方式进行检查?(如果我能收到一个事件,那就更好了。)

检查显示器是否被windows电源管理关闭

我认为XP无法做到这一点。在Windows7中,有各种与电源管理相关的好东西。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,尽管当用户设置了密码时,这是不起作用的。