Java使用Robot完成QQ轰炸机

效果

网上吵架吵不过别人怎么办?女友让你从1数到10000怎么办?想恶搞朋友怎么办?QQ轰炸机你值得拥有!(注:为了更好的学习编程,敲的练手项目,仅做学习使用)
自定义发送内容,自定义发送条数,“爱”他,就往死里炸他!
java

源码

其实思路很简单,利用Java里面的Robot类来作模拟键盘的操做,基本思路是,咱们先复制好一段话,而后写个循环,在循环里模拟按ctrl+v键,完成粘贴功能,粘贴完,模拟按下回车(发送)。
Robot类能够模拟键盘和鼠标的操做,通常会用来作一些自动化测试之类的,或者完成一些简单可是须要频繁操做的功能。像抢红包,刷票均可以用Robot来作,思路都差很少。若是你够闲,甚至能够写个类去循环破解WiFi密码
编程

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import java.awt.event.KeyEvent;

public class QQBoom {
    public static void main(String[] args) throws AWTException {

        String sentence = "爱我你怕了吗";//定义要发送的话
        
        //如下三行为将上述字符串放到剪切板内,至关于作了一次复制操做
        Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();
        Transferable tText = new StringSelection(sentence);
        clip.setContents(tText, null);
        

        Robot robot = new Robot();//建立Robot对象
        robot.delay(3000);//延迟三秒,主要是为了预留出打开窗口的时间,括号内的单位为毫秒
        for (int i = 1; i <= 10; i++) {//循环十次,固然,若是爱得深,你死循环也没问题
            
            //如下两行按下了ctrl+v,完成粘贴功能
            robot.keyPress( KeyEvent.VK_CONTROL);
            robot.keyPress(KeyEvent.VK_V);
            
            robot.keyRelease(KeyEvent.VK_CONTROL);//释放ctrl按键,像ctrl,退格键,删除键这样的功能性按键,在按下后必定要释放,否则会出问题。crtl若是按住没有释放,在按其余字母按键是,敲出来的回事ctrl的快捷键。
              robot.delay(1000);//延迟一秒再发送,否则会一次性全发布出去,由于电脑的处理速度很快,每次粘贴发送的速度几乎是一瞬间,因此给人的感受就是一次性发送了所有。这个时间能够本身改,想几秒发送一条均可以
            robot.keyPress( KeyEvent.VK_ENTER);//回车
        }
    }
}

讲解

其实也没啥讲的,这么简单的东西,若是不是为了凑字数,我才不写呢!
学习

我错了,其实仍是颇有含金量的,好比,好比……好比这个释放按键。
感兴趣的能够试一试删掉红框里这一行,是否是发现消息发布出去,若是你在记事本里测试的,你会发现键盘无法打字了,若是按f会直接弹出搜索框,由于ctrl是功能性按键,必须释放,否则会一直起做用。
测试

从上面的例子,有没有一些邪恶的想法,若是代码写了个死循环,而后按住back_space键不放呢?你试试呗,键盘能打出字算我输。固然你也能够按住delete不放。
同理,咱们也能够去操做鼠标,碰到一些晚上不睡觉一直打游戏的舍友,那就合理的“废了”他的键盘和鼠标。关于恶搞的小东西,我另写一篇讲
spa

相关文章
相关标签/搜索