Я хотел бы написать программу wmi и Java или обе программы, которые автоматически обнаруживают и идентифицируют устройства отображения, подключенные к моему компьютеру (Windows), - это монитор или проектор.
Любые идеи, как это можно сделать?
Я не совсем уверен, что вы пытаетесь сказать, но надеюсь, что это поможет вам
java.awt.Window - это базовый класс всех окон верхнего уровня (Frame, JFrame, Dialog и т.д.) и содержит метод getGraphicsConfiguration()
который возвращает GraphicsConfiguration, которое использует окно. GraphicsConfiguration имеет метод getGraphicsDevice()
который возвращает GraphicsDevice, к которому принадлежит GraphicsConfiguration. Затем вы можете использовать класс GraphicsEnvironment для проверки этого на всех графических устройствах в системе и посмотреть, к какому из них принадлежит Окно.
Window myWindow = ....
// ...
GraphicsConfiguration config = myWindow.getGraphicsConfiguration();
GraphicsDevice myScreen = config.getDevice();
GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
// AFAIK - there are no guarantees that screen devices are in order...
// but they have been on every system I've used.
GraphicsDevice[] allScreens = env.getScreenDevices();
int myScreenIndex = -1;
for (int i = 0; i < allScreens.length; i++) {
if (allScreens[i].equals(myScreen))
{
myScreenIndex = i;
break;
}
}
System.out.println("window is on screen" + myScreenIndex);
См. Следующее: