以编程方式完全关闭监视器(非待机)

时间:2015-11-24 21:17:20

标签: c#

是否可以通过编程方式关闭显示器的电源?

在我看到的所有内容中,包括Turn on/off monitor人们所说的“关闭”实际上是待机模式。

我正在寻找完全断电,因为它与按下电源按钮的功能相同。下面的代码用于将显示器置于待机模式,但是,这并不是我想要的。

using System;
using System.Runtime.InteropServices;

namespace ScreenSleep
{
    class Program
    {
        private const int HWND_BROADCAST = 0xFFFF;
        private static int WM_SYSCOMMAND = 0x0112;
        private static int SC_MONITORPOWER = 0xF170;

        [DllImport("user32.dll", CharSet = CharSet.Auto)]
        private static extern int SendNotifyMessage(IntPtr hWnd, int wMsg, IntPtr wParam, IntPtr lParam);

        public static void Main(string[] args)
        {
            SendNotifyMessage((IntPtr)HWND_BROADCAST, WM_SYSCOMMAND, (IntPtr)SC_MONITORPOWER, (IntPtr)2);
        }
    }
}

我确信我会得到回复,告诉我只要按下电源按钮,如果这就是我想要的,或者待机模式使用的功率几乎没有,请让我解释为什么那些不理想:

我在一家广播公司工作,因此墙上装满了各种任务的监视器,电源按钮很难到达。虽然所有显示器都是在早上使用的第一件事,但使用过的显示器的数量在一天中会逐渐减少。当人员离开办公室时,如果他们是当天使用指定监视器的最后一个人,他们需要将其关闭。然而,由于难以触及按钮和视频墙的布局,我们不希望人们不断回到那里关闭显示器电源并冒险意外拔出任何插头。早上主管每天早上都会在电源按钮上按下电源按钮,为所有电源按钮供电,因此不需要基于软件的解决方案。还有一项公司要求不要让监视器在一夜之间处于待机模式,因此这不是一种选择。

0 个答案:

没有答案