9

通过使用 Windows API,可以将显示器置于睡眠模式:

[DllImport("user32.dll")]
static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);

进而

SendMessage(this.Handle, WM_SYSCOMMAND, (IntPtr)SC_MONITORPOWER, (IntPtr)2);

运行上述命令时,两个监视器都进入睡眠状态。是否有可能只影响多个连接的监视器中的一个?

4

2 回答 2

2

根据这个......不。

原因是 API 正在关闭定义为两个监视器的显示。关闭特定的监视器将是硬件绑定。

于 2010-12-14T19:53:35.600 回答
2

确切地说,我不知道您是否可以使特定显示器进入睡眠状态。但是您可以通过将显示器数量更改为一个(假设您有 2 个)来实现这一点,您希望它是清醒的。另一台将在大约一分钟后自动进入睡眠状态(大多数显示器在断开连接后大约一分钟后进入省电模式)。您实际上是以编程方式断开监视器的连接。您可以在需要时激活它。

但是,这种方法还有其他含义,一旦您开始使用它,您就会知道。

于 2010-12-20T02:54:23.423 回答