开发环境 VS2005 、 WinXP
希望通过程序获得  本地机器显示器的以下3个状态
[on] [off] [standby]
有办法获得么?
*****************************************************
顺便说一下 不是控制 是 获得显示器的状态,控制显示器的开关
已经实现了。

解决方案 »

  1.   

    public const uint WM_SYSCOMMAND = 0x0112;
      public const uint SC_MONITORPOWER = 0xF170;
      [DllImport("user32")]
      public static extern IntPtr SendMessage(IntPtr hWnd, uint wMsg, uint wParam, int lParam); void CloseLCD(object sender, EventArgs e)
      {
      SendMessage(this.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 2); // 2 为关闭显示器, -1则打开显示器
      }
      

  2.   

    Ls的谢谢,不过 还是被我 预测了,总会有人给贴出这段 控制的代码。
    难道 只能控制不可以 获得 状态么?我也认为 要用 API 不过 不管用不用 只要能正确得到当前状态就可以了。
      

  3.   

    显示器的on off是由显示器开关控制,这两个动作应该不会向主机发出任何信号的。
    standby是由主机的电源管理控制,就是让显卡打开或关闭视频信号,这个应该用视频输出的相关API吧这都是大概思路而已。
      

  4.   

    恩,说得有道理。是我叙述得有些问题。
    我不想 知道Monitor 的开关动作,其实本质就是区分 Monitor Power的状态。
    我想应该通过 监测 Monitor Power 的API 或者其它来实现。