java - 如何通过代码知道是否有多个显示器连接到我的系统?
问题描述
我的系统监控应用程序每五分钟在系统中运行一次屏幕截图。但是对于以双显示器模式连接的系统,需要一组不同的代码来获取完整的 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();
}
推荐阅读
- python - Sage python3 jupyter笔记本
- python - 打印所有托管实例时出现 Boto3 KeyError
- javascript - 使用 express 显示消息
- python - 枚举回馈字母作为值而不是单词
- json - 在 Azure 数据工厂 v2 中对 REST Web 服务使用 JSON 正文查询
- android - “bylazy”在Android-Kotlin中的应用是什么?
- excel - Range.Find 在查找失败时产生错误
- javascript - 将数组转换为没有键的对象
- hibernate - 如何使用 CriteriaQuery API 在 ComponentType 中执行 LEFT_JOIN
- python - running 2 while True 一次循环