我想编写一个wmi和Java,或者同时编写这两个程序,以自动查找并识别连接到我的计算机(Windows)的显示设备是显示器还是投影仪。

任何想法如何做到这一点?

最佳答案

我不太确定您要说什么,但希望对您有帮助

java.awt.Window是所有顶级窗口(Frame,JFrame,Dialog等)的基类,并且包含getGraphicsConfiguration()方法,该方法返回该窗口正在使用的GraphicsConfiguration。 GraphicsConfiguration具有getGraphicsDevice()方法,该方法返回GraphicsConfiguration所属的GraphicsDevice。然后,您可以使用GraphicsEnvironment类针对系统中的所有GraphicsDevices进行测试,并查看Window属于哪个窗口。

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);


请参阅以下内容:

Link One

Link Two

Link Three

Link Four

09-25 22:23