Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/143.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检查显示器是否由windows电源管理关闭_C#_C++_Winapi_Windows 7_Windows Xp - Fatal编程技术网

C# 检查显示器是否由windows电源管理关闭

C# 检查显示器是否由windows电源管理关闭,c#,c++,winapi,windows-7,windows-xp,C#,C++,Winapi,Windows 7,Windows Xp,如果“Windows电源管理”已关闭显示器,如何以编程方式签入Windows 7和XP?(如果我能收到一个事件,那就更好了。)我不认为XP可以做到这一点。在Windows7中,有各种各样与电源管理相关的好东西。是一组易于从C#或VB调用的托管包装器,用于映射Windows范例(如事件接收器、Windows 从代码包附带的电源管理演示中,下面是一些您可能喜欢的代码: using Microsoft.WindowsAPICodePack.ApplicationServices; // . . .

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

我不认为XP可以做到这一点。在Windows7中,有各种各样与电源管理相关的好东西。是一组易于从C#或VB调用的托管包装器,用于映射Windows范例(如事件接收器、Windows 从代码包附带的电源管理演示中,下面是一些您可能喜欢的代码:

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代码包的链接:


如果您想像本文中提到的那样使用它,请检查以下内容:

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

可能是的副本?底线是这不太可能。你为什么想知道?所以你可以把它打开?有一种方法可以对Windows说:“当这个应用程序运行时,它不会有太多的键盘/鼠标动作,但这并不意味着我们空闲,所以不要空白屏幕”(例如对于视频播放器)。如果是你,防止空白比被通知要好,对吗?这个问题似乎集中在人类用电源开关关闭显示器上,而不是Windows因为空闲时间而这样做相似:你可以查看IMSVidDevice:msdn.microsoft.com/en us/library/dd694519(VS.85)如果应用程序的窗口不是活动窗口,则.aspxIt也不起作用。谢谢,伙计。我只想添加链接来下载该库:)工作起来很有魅力,再加上屏幕保护检查,从(将“(isRunning)”改为“(isRunning | |!PowerManager.IsMonitorOn)”)这两种屏幕保护都可以涵盖:D