如何以编程方式知道系统是否处于双显示器模式?

问题描述

我的系统监控应用在系统中每运行五分钟就会截屏一次。但是对于以双显示器模式连接的系统,需要一组不同的代码获取完整的 180 度屏幕截图。

有没有办法通过某种方式(系统属性)知道系统是否在双显示器模式下工作?

解决方法

您可以使用 GraphicsEnvironment https://docs.oracle.com/javase/7/docs/api/java/awt/GraphicsEnvironment.html :

private String getMonitorSizes() {
    GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
    GraphicsDevice[]    gs = ge.getScreenDevices();
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < gs.length; i++) {
        DisplayMode dm = gs[i].getDisplayMode();
        sb.append(i + ",width: " + dm.getWidth() + ",height: " + dm.getHeight() + "\n");
    }
    return sb.toString();
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...