当前位置: 首页 > news >正文

网站注册qq青岛本地生活网

网站注册qq,青岛本地生活网,wordpress自建邮箱,微信公众平台推广核心类:java.awt.Robot 该类是JDK定义的电脑系统的抽象类,可以用来模拟实现鼠标点击与键盘输入等信息 简单实现一个自动抢票代码: Robot rt new Robot();//可以认为是操作间隔的停歇时间,比如等待页面加载,等弹框内容展示等 r…

核心类:java.awt.Robot

该类是JDK定义的电脑系统的抽象类,可以用来模拟实现鼠标点击与键盘输入等信息

简单实现一个自动抢票代码:

Robot rt = new Robot();//可以认为是操作间隔的停歇时间,比如等待页面加载,等弹框内容展示等
rt.delay(1000);//鼠标移动到指定位置
rt.mouseMove(876,231);//点击动作由下压+回弹组成
//点击按下去
rt.mousePress(InputEvent.BUTTON1_MASK);
rt.delay(100);
//放开回弹
rt.mouseRelease(InputEvent.BUTTON1_MASK);//copy黏贴文本
Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();
String[] authors = msgArr.get(getRandomIntNum()).split("[,]");
Transferable text = new StringSelection(authors[0]);
//将消息数组中的文本copy到粘贴板,使用ctrl+V即可完成粘贴
clip.setContents(text, null);//组合键使用ctrl+V,控制电脑完成粘贴动作
rt.keyPress(KeyEvent.VK_CONTROL);
rt.keyPress(KeyEvent.VK_V);//获取鼠标坐标
Point point = java.awt.MouseInfo.getPointerInfo().getLocation();
System.out.println("" + point.x+" , "+point.y);//实际使用时配合线程调度
/**
* Launch the application.
*
* 实时获取鼠标坐标
*/
public static void main(String[] args) {try {MouseInfo info_frame = new MouseInfo();info_frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);info_frame.setVisible(true);info_frame.setAlwaysOnTop(true);Timer timer = new Timer();timer.schedule(new TimerTask() {@Overridepublic void run() {Point point = java.awt.MouseInfo.getPointerInfo().getLocation();System.out.println("" + point.x+" , "+point.y);try {Thread.sleep(3000L);} catch (InterruptedException e) {e.printStackTrace();}}}, 100, 100);} catch (Exception e) {e.printStackTrace();}
}

鼠标点击模拟时 有三种按键类型:

InputEvent.BUTTON1_MASK 左键 (食指点击)

InputEvent.BUTTON2_MASK 中键 (滚轮)

InputEvent.BUTTON3_MASK 右键(中指点击)

WIN10 系统桌面坐标拾取

得到的信息需要根据屏幕--显示设置--缩放与布局的百分比进行计算

当桌面缩放与布局 设置100%时,直接使用鼠标拾取的坐标 X,Y 即可

当桌面缩放与布局 设置125%时,需要使用计算后的位置坐标 X/125 ,Y/125

package com.test.domain;import java.awt.*;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;public class Operation {//时间间隔 1sfinal static  int DELAY=1000;private static List<String> msgArr=new ArrayList<String>();public static int getRandomIntNum() {int max=10;int min=1;Random random = new Random();return random.nextInt(max)%(max-min+1) + min;}/*** 用法简介:脚本程序跑起来之后鼠标选中需要轰炸得聊天窗口,需要聊天窗口能获取到鼠标得焦点** @param args* @throws AWTException*/public static void main1(String[] args) throws AWTException {//轰炸内容for (int i = 0; i < 10; i++) {String emoj="[炸弹] [炸弹] [炸弹] [炸弹] [炸弹] [炸弹] [炸弹][炸弹] [炸弹] ";msgArr.add("轰炸机,消息轰炸 ->"+i+emoj);}Robot robot = new Robot();robot.delay(5000);Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();String[] authors = msgArr.get(getRandomIntNum()).split("[,]");//循环轰炸for (int j = 0; j < 100; j++){for (int i = 0; i < authors.length; i++) {String str1 = authors[i];Transferable text = new StringSelection(str1);clip.setContents(text, null);robot.keyPress(KeyEvent.VK_CONTROL);robot.keyPress(KeyEvent.VK_V);robot.keyRelease(KeyEvent.VK_CONTROL);robot.delay(100);robot.keyPress(KeyEvent.VK_ENTER);}}}/*** 用法简介:脚本程序跑起来之前需要打开需要轰炸的对方聊天窗口,并全屏* 注:根据实际系统设置不同使用前需要将自己桌面缩放与布局大小调整为100%*     另需要用mouseInfo 工具类获取到自己电脑上面发送 钉 消息的几个操作按钮坐标*     1.聊天窗口中的 DING一下按钮 鼠标点击坐标*     2.DING一下  窗口文本输入框位置坐标*     3.DING一下 发送按钮鼠标点击坐标** @param args* @throws AWTException*/public static void main(String[] args) throws AWTException {//轰炸内容for (int i = 0; i < 10; i++) {String emoj = "[炸弹] [炸弹] [炸弹] [炸弹] [炸弹] [炸弹] [炸弹][炸弹] [炸弹] ";msgArr.add("轰炸机,消息轰炸 ->" + i + emoj);}Robot robot = new Robot();robot.delay(1000);//循环轰炸for (int j = 0; j < 3; j++) {robot.mouseMove(650, 880);Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();String[] authors = msgArr.get(getRandomIntNum()).split("[,]");//钉钉聊天框钉按钮鼠标点击位置坐标:819,798Danji(robot, 650, 880,1500);//钉窗口文本输入鼠标点击位置坐标:551,399Danji(robot, 1132, 466,100);Danji(robot, 1132, 466,100);Transferable text = new StringSelection(authors[0]);clip.setContents(text, null);robot.keyPress(KeyEvent.VK_CONTROL);robot.keyPress(KeyEvent.VK_V);robot.delay(1000);//钉消息发送按钮鼠标点击位置坐标:489,891Danji(robot, 576, 835,300);}}//鼠标移动到指定坐标,然后单击public  static  void Danji(Robot rt,int x, int y,int times){rt.mouseMove(-1,-1);//初始化rt.delay(100);rt.mouseMove(x,y);//制动到指定位置rt.delay(100);pressMouse(rt, InputEvent.BUTTON1_MASK,times);}//鼠标点击事件public  static  void pressMouse(Robot rt,int m,int times){rt.mousePress(m);rt.delay(100);rt.mouseRelease(m);rt.delay(times);System.out.printf("鼠标点击完成"+m);}//将指定内容粘贴到粘贴板 然后ctrl+vpublic static void outPut(String str,Robot rt){StringSelection selection = new StringSelection(str);Toolkit.getDefaultToolkit().getSystemClipboard().setContents(selection,selection);keyPressWithCotrl(rt,KeyEvent.VK_V);}//ctrl组合键 相当于按下CTRL再按下传入的key值public  static  void keyPressWithCotrl(Robot rt,int key){rt.keyPress(KeyEvent.VK_CONTROL);rt.keyPress(key);rt.keyRelease(KeyEvent.VK_CONTROL);rt.keyRelease(key);rt.delay(DELAY);}}
package com.test.domain;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import java.awt.Font;
import java.awt.Point;
import java.util.Timer;
import java.util.TimerTask;
import java.awt.Color;
public class MouseInfo extends JFrame {private final JPanel contentPanel = new JPanel();JLabel value_x = null;JLabel value_y = null;/*** Launch the application.** 实时获取鼠标坐标*/public static void main(String[] args) {try {MouseInfo info_frame = new MouseInfo();info_frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);info_frame.setVisible(true);info_frame.setAlwaysOnTop(true);Timer timer = new Timer();timer.schedule(new TimerTask() {@Overridepublic void run() {Point point = java.awt.MouseInfo.getPointerInfo().getLocation();System.out.println("" + point.x+" , "+point.y);try {Thread.sleep(3000L);} catch (InterruptedException e) {e.printStackTrace();}}}, 100, 100);} catch (Exception e) {e.printStackTrace();}}/*** Create the dialog.*/public MouseInfo() {setTitle("\u9F20\u6807\u5750\u6807\u83B7\u53D6\u5668");setBounds(100, 100, 217, 156);getContentPane().setLayout(new BorderLayout());contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));getContentPane().add(contentPanel, BorderLayout.CENTER);contentPanel.setLayout(null);JLabel lblx = new JLabel("\u5750\u6807x:");lblx.setFont(new Font("宋体", Font.PLAIN, 15));lblx.setBounds(22, 27, 66, 31);contentPanel.add(lblx);JLabel lbly = new JLabel("\u5750\u6807y:");lbly.setFont(new Font("宋体", Font.PLAIN, 15));lbly.setBounds(22, 68, 66, 31);contentPanel.add(lbly);value_x = new JLabel("0");value_x.setForeground(Color.BLUE);value_x.setFont(new Font("宋体", Font.PLAIN, 20));value_x.setBounds(82, 27, 66, 31);contentPanel.add(value_x);value_y = new JLabel("0");value_y.setForeground(Color.BLUE);value_y.setFont(new Font("宋体", Font.PLAIN, 20));value_y.setBounds(82, 68, 66, 31);contentPanel.add(value_y);}
}

http://www.sczhlp.com/news/129926/

相关文章:

  • 网站盈利模式分析怎么做郴州品牌网站建设推广
  • 河北省建设机械会网站首页idmd设计
  • 动易2006学校网站微网站 建设方案
  • 9月23号
  • CF520E Pluses everywhere 题目分析
  • 网站负责人拍照网站域名购买后能修改吗
  • 北京网站设计多少钱签名设计在线
  • 网站建设数据库多少钱网站的ftp地址怎么查
  • java里面的IO流分为哪几种,他们的区别是什么呢
  • ReLU函数及它的导数
  • 网站做外链的具体步骤wordpress可以做相册吗
  • 国外网站打开很慢dnswordpress做相册
  • 天津公司建设网站怎样做一个简单的网站
  • 做企业平台的网站深圳工业设计展2024
  • 公司网站开发人员的的工资多少做网站网页需要多久
  • wordpress弹出式注册页面seo矩阵培训
  • 网站推广的作用画册设计模板图片
  • 长沙网站建设推荐模板网站制作视频
  • 上海网站建设86215吴忠建设网站
  • 知名网站制作泉州地区网站建设公司
  • 如何进入优容网站北京做网站推广兼职
  • 竞价网站如何设计建设注册管理中心网站
  • 基础数论
  • 第一次个人编程作业-论文查重
  • 使用Claude代码子代理生成项目特定提交消息的技术实践
  • 谁家网站用户体验做的好广告制作平台
  • 中小企业网站建设费用购买了网站如何使用吗
  • 怎么在自己的电脑上做网站手机网站设计要素
  • 制作的网站图片不显示专做h5的公司网站
  • 特色的合肥网站建设博兴网站建设