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

时间:2016-03-29 05:33:50

标签: java windows google-chrome firefox opera

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

a)两个屏幕上的Kiosk模式的谷歌浏览器(没有其他应用程序可访问)

b)Firefox,Opera不在自助服务终端模式,但必须在谷歌浏览器后面隐藏运行以进行部分打印作业

问题:

但是在每次启动时,Firefox,Opera都会始终保持在谷歌Chrome浏览器之上,即使那些也没有作为自助服务终端模式推出。

我已经在启动时编写了Java代码以点击一些点击,因此前端只显示谷歌浏览器,但它不起作用。

任何人都可以修改代码吗?我做错了什么?我需要在屏幕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);
    }
  }
}

enter image description here

1 个答案:

答案 0 :(得分:0)

工作

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