如何通过代码知道是否有多个显示器连接到我的系统?
How to know if there are more than one monitor connected to my system from code?
我的系统监控应用程序在系统中运行时每五分钟截图一次。但是对于以双显示器模式连接的系统需要一组不同的代码来拍摄完整的 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();
}
我的系统监控应用程序在系统中运行时每五分钟截图一次。但是对于以双显示器模式连接的系统需要一组不同的代码来拍摄完整的 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();
}