読者です 読者をやめる 読者になる 読者になる

Javaでクリック連打

Linuxでクリック連打をしたかったが,いいのがみつからなかったので作った.

JavaのRobotを使うと簡単につくれる.

以下のClick.javaを実行して,1秒間マウスカーソルを動かさなければ,
次にマウスカーソルを動かすまでクリックを連打する.

import java.awt.MouseInfo;
import java.awt.PointerInfo;
import java.awt.Robot;
import java.awt.event.InputEvent;
public class Click {
    public static void main(String[] args) {
        try{
            Robot r = new Robot();
            r.setAutoDelay(10);
            int x=Integer.MAX_VALUE;
            int y=Integer.MAX_VALUE;
            while(true){
                PointerInfo pi = MouseInfo.getPointerInfo();
                int nx = pi.getLocation().x;
                int ny = pi.getLocation().y;
                if(x==nx&&y==ny)break;
                x=nx;
                y=ny;
                Thread.sleep(1000);
            }
            while(true){
                r.mousePress(InputEvent.BUTTON1_MASK);
                r.mouseRelease(InputEvent.BUTTON1_MASK);
                PointerInfo pi = MouseInfo.getPointerInfo();
                int nx = pi.getLocation().x;
                int ny = pi.getLocation().y;
                if(x!=nx||y!=ny)break;
                Thread.sleep(10);
            }
        }
        catch(Exception e){
            e.printStackTrace();
        }
    }
}