从网上下载了的代码,进行了部分修改。需要使用模拟器在电脑上安装微信,再通过鼠标右键点击跳越。
import java.awt.AWTException;
import java.awt.FlowLayout;
import java.awt.Robot;
import java.awt.event.InputEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.concurrent.atomic.AtomicBoolean;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class T2{
private static final MouseEvent MouseEvent = null;
static int x0 ,y0,x1,y1;
static AtomicBoolean flag= new AtomicBoolean(false);
public static void main(String[] args) {
final JFrame j=new JFrame("com.cuihs");
j.setUndecorated(true);
j.setOpacity(0.5f);
j.setSize(600,900);//宽高自设
// this.dispose();
j.setLocationRelativeTo(null);//默认放置在屏幕的中央
j.toFront();//显示在桌面最前面
j.setLayout(new FlowLayout(FlowLayout.CENTER));
j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JLabel label = new JLabel("右键点击");
j.add(label);
j.setVisible(true);//可见
j.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e) {
if(e.getButton() == MouseEvent.BUTTON3){ //3代表右键
if(flag.compareAndSet(false, true)) {
x0 = e.getX();
y0 = e.getY();
System.out.println("起点y0="+y0+"x0="+x0);
String banner = "鼠标当前点击位置的坐标是" + x0 + "," + y0;
label.setText(banner);
}else {
x1=e.getX();
y1=e.getY();
System.out.println("终点x1="+x1+"y1="+y1);
double _x = Math.abs(x0 - x1);
double _y = Math.abs(y0 - y1);
double dis=Math.sqrt(_x*_x+_y*_y);//两点间的欧几里德距离
System.out.println("------------距离----------"+dis);
label.setText("目标距离点("+dis+")及"+Math.ceil(dis)*4.8+"");
//处理
j.setVisible(false);//消失视距
//当前焦点按按钮时常
try {
Robot robot = new Robot();
//鼠标移动到某一点
robot.mouseMove(e.getXOnScreen(),e.getYOnScreen());
//模拟鼠标按下左键
robot.mousePress(InputEvent.BUTTON1_MASK);
try {
int tia;
//int ti=(int) ((dis/1000)*1000+200+185);//算法能耐用
int ti1=(int)(dis);
System.out.println("ti1==="+ti1);
if(ti1==0){
tia=1;
}else{
int ti2=ti1*2;
int ti=(int)ti1/2+ti2;
int ti3=(int)ti1/2+ti;
System.out.println("停留时间="+(ti3-75));
tia=ti3-75;
if(tia>8000||tia<0){
tia=1;
}
}
Thread.sleep(tia+25);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
//模拟鼠标松开左键
robot.mouseRelease(InputEvent.BUTTON1_MASK);
} catch (AWTException e1) {
e1.printStackTrace();
}
j.setVisible(true);
flag.set(false);
}
}
}
});
}
}
最后欢迎大家访问我的个人网站:1024s