我可以在多显示器设置中休眠其中一台显示器吗?

Ste*_*tew 59 windows windows-7 display multiple-monitors energy-saving

我希望能够在不需要时在我的两台显示器之一上“让显示器进入睡眠状态”,这样它就不会分散我的注意力或使用不必要的电源。

理想情况下,显示器将处于睡眠状态,但操作系统将保持双显示器模式,因此我仍然可以在睡眠显示器的显示空间中打开各种窗口,这意味着我不必在单显示器之间切换 -和双显示器模式。

也就是说,我还会考虑一种解决方案,它可以轻松地在单显示器和双显示器模式之间切换,而无需导航多个系统菜单。

小智 50

Windows+ P- 系统会提示您从单个、扩展等中选择显示模式,因此可用于禁用辅助显示器。

我看到你想保持打开的窗户;这仍然使它们保持打开状态,但如果您启用单监视器模式,它确实会将它们全部显示在一个显示器上。但是,至少这种方法可以让您在不使用时关闭第二个发光的干扰。

  • 为什么这个答案被接受?它没有回答问题(关闭监视器,但将窗口保持在其位置)。PS我认为这取决于使用的显示器。我的华硕 PB328Q 可以通过菜单按钮关闭,窗口仍然将它们显示为活动监视器。 (7认同)
  • 我可以确认这确实像这里的答案中所说的那样有效。win + p 然后您可以在仅计算机、复制、扩展和仅投影仪模式之间进行选择。 (2认同)

sup*_*lav 8

这篇文章有点旧,但我遇到了类似的问题。我可以远程打开我的电脑/媒体播放器/灯,但我的 27" 电脑显示器在房间里发出分散注意力的光芒。为了最大限度地提高我的懒惰,我创建了一个简单的 Java 应用程序来使显示器变黑(我可以使用其他远程启动它工具)。

下面是我在 Windows 7 上测试过的 java 代码。它需要一个参数 0 到 max display-1。例如:java -jar Dimmer.jar 1将使我的第二台显示器变黑,没有参数将假定显示为 0

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JWindow;
import javax.swing.UIManager;

public class Dimmer extends JWindow
{
   private static final long serialVersionUID = 3493635987367217622L;

   private final int _screen;

   public Dimmer ()
   {
      this(0);
   }

   public Dimmer (int screen)
   {
      super();
      _screen = screen;

      {
         final JButton button = new JButton("click to exit");
         button.setForeground(Color.gray);
         button.setOpaque(false);
         button.setContentAreaFilled(false);
         button.setBorder(BorderFactory.createEmptyBorder());
         button.addActionListener(new ActionListener()
         {
            @Override
            public void actionPerformed(ActionEvent arg0)
            {
               System.exit(0);
            }
         });
         add(button, BorderLayout.CENTER);
      }
      setAlwaysOnTop(true);
   }

   public void begin()
   {
      GraphicsDevice gda[] = GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices();
      GraphicsDevice gd = gda[_screen];
      getContentPane().setBackground(Color.black);

      for (GraphicsDevice gdTmp : gda)
      {
         System.out.print( (gd == gdTmp) ? "->" : "  ");
         System.out.println( 
                "Screen(" + gdTmp.getDefaultConfiguration().getDevice().getIDstring() +")"
                +" "+ gdTmp.getDefaultConfiguration().getBounds() );
      }

      Rectangle bounds = gd.getDefaultConfiguration().getBounds();
      setLocation(bounds.getLocation());
      setSize(bounds.getSize());

      validate();
      setVisible(true);
   }

   /**
    * @param args
    * @throws Exception 
    */
   public static void main(String[] args) throws Exception
   {
      UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
      Dimmer dimmer = new Dimmer(args.length == 1 ? Integer.valueOf(args[0]) : 0);
      dimmer.begin();
   }

}
Run Code Online (Sandbox Code Playgroud)

  • 但它并没有让它入睡! (7认同)
  • @Zalmy:[安装JDK](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html),[确保设置了路径变量](http://www .tutorialspoint.com/java/java_environment_setup.htm)。将上述内容保存到名为 `Dimmer.java` 的文本文件中,在命令提示符下执行 `javac Dimmer.java`、`jar -cf Dimmer.jar Dimmer.class Dimmer$1.class`,并与 `java -cp Dimmer 一起使用.jar 调光器` (3认同)

小智 7

另一种选择是 Nirsoft Multi Monitor 工具:http ://www.nirsoft.net/utils/multi_monitor_tool.html

您可以创建两个批处理文件 - 一个用于禁用显示 X,另一个用于启用。例如:

MultiMonitorTool.exe /disable 5

MultiMonitorTool.exe /enable 5

要查找显示编号,请打开 MultiMonitorTool.exe,右键单击显示,然后访问属性。

  • 此解决方案(如 windows-p 选项)的一个缺点是所有窗口都会转储回主显示屏上。然而,还有一个“/switchoffon”命令实际上会重新启动显示器,这使得一切都完好无损,尽管显示器需要稍微预热以便稍后重新打开。 (我也尝试过全屏黑色覆盖程序路线,但这仍然消耗全部电量,并且在有大量边缘出血的屏幕上看起来很糟糕。) (2认同)