Java - 如何在桌面 1 和桌面 2 上生成点击?

Java - how to generate click on desktop 1 and desktop 2?

我有一个带有 2 个显示器的 KIOSK 连接到一台 PC 以解决依赖性和第三方兼容性问题,PC 必须在启动时启动,如下所示:

a) Google Chrome 在两个屏幕上都处于信息亭模式(无法访问其他应用程序)

b) Firefox、Opera 不在 kiosk 模式下,但必须 运行 隐藏在 Google 后面 Chrome 用于某些打印作业

问题:

但在每次启动时,Firefox、Opera 始终保持在 Google Chrome 之上,即使它们不是以 kiosk 模式启动的。

我在启动时编写了 Java 代码来触发一些点击,因此前端只显示 Google Chrome 但它不起作用。

任何人都可以修复代码吗?我做错了什么?我需要在屏幕 1 (1024x768)、屏幕 2 (1280x720) 上发送连发点击。

import java.awt.DisplayMode;
import java.awt.GraphicsConfiguration;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.event.InputEvent;
public class kiosk {
  public static void main(String[] args) {
    try {
      Robot robot = new Robot();
      // Screen Adjust
      robot.setAutoDelay(500);
      robot.mouseMove(1270, 400);
      robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
      robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);        

      // Screens
      GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
      GraphicsDevice[] gs = ge.getScreenDevices();
      for(GraphicsDevice curGs : gs) {
        DisplayMode dm = curGs.getDisplayMode();
        System.out.println(dm.getWidth() + " x " + dm.getHeight());
      }

    } catch (Exception e) {
      System.out.println(e);
    }
  }
}

有效

import java.awt.DisplayMode;
import java.awt.GraphicsConfiguration;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.event.InputEvent;

public class kiosk {
  public static void main(String[] args) {
    try {
      // Screens
      int ScreenID = 0;
      GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
      GraphicsDevice[] gs = ge.getScreenDevices();
      for(GraphicsDevice curGs : gs) {

        // Get the Displays
        DisplayMode dm = curGs.getDisplayMode();
        int x = dm.getWidth();
        System.out.println(ScreenID + " :" + dm.getWidth() + " x " + dm.getHeight());

        // Burst fire now
        Robot robot = new Robot();
        robot.setAutoDelay(500);
        if(ScreenID>0) {         
          robot.mouseMove(1280 + (x/13), 70);
        } else {
          robot.mouseMove(x/13, 70);
        }
        robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
        robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);   
        ScreenID++;

      }            

    } catch (Exception e) {
      System.out.println(e);
    }
  }
}