咳咳咳,最近怎么不见涨粉啊?
之前评论里有小伙伴嫌QQ轰炸不过瘾
还想来点刺激的,问能不能在LOL游戏的时候进行轰炸(kai ma)
这位兄台怕是真把我当作大佬了
作为一位刚入门的程序员小白,本着用户就是爸爸的原则,浪费了我1/32的发量找到了门路
思路:我们之前开发的乞丐版的轰炸机,原理就是模仿ctrl+v 然后enter发送消息的任何聊天窗口,但是每次运行的时候都需要手动打开聊天窗口,QQ和微信这样的还容易解决,但是想LOL这样全窗口游戏的时候时切入切出时很难的,所以解决的思路就是让我们的代码在后台运行,像一些辅助外挂一样
我们也来个F10进入坦克
那么,怎么用java实现全局键盘监听呢?
别怕,我来教你,win+r打开运行窗口,然后输入cmd进入命令框
输入explorer "http://www.baidu.com"
然后你就会看到
回车,然后我们来到了java实现全局键盘监听https://blog.csdn.net/rico_zhou/article/details/80062914
这位博主真的是良心博主,不仅写了方法,还把源码挂在了github方便下载,俗话说的好,不给源码的博客就是耍流氓,这里给这个博主大大的赞
那么方法有了,那么,我们就把它和我们的乞丐版轰炸机结合起来就好啦
老样子,还是直接上源码
这个是轰炸机的关键代码,封装了参数方便进行修改
package createglobalhotkey;
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;
import java.util.Scanner;
public class QQBoom {
public static void boomtest1(int search){
String sentence=null;
int num=0;
if(search==1) {
sentence = "我头上有犄角,我身后有尾巴,谁也不知道,我有多少秘密,我头上有犄角,我身后有尾巴,谁也不知道,我有多少秘密,我是一条小青龙,我有许多小秘密,我是一条小青龙,我有许多小秘密,我有许多的秘密,就不告诉你,就不告诉你,就不告诉你";// 定义F10要发送的话
num=1;//发送的次数
}
else if(search==2) {
sentence = "爱我你怕了吗";// 定义Shift+F10要发送的话
num=20;//发送的次数
}
else {
sentence = "听说你被拐卖,真的把我吓坏,你虽从小痴呆,却对社会无害,谁人如此大胆,竟拿你去卖,我真替他担心,卖得掉才怪!";// 定义Shift+Ctrl+F10要发送的话
num=1;//发送的次数
}
Robot robot=null;
try {
robot = new Robot();
} catch (AWTException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}// 创建Robot对象
Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();
String[] authors = sentence.split("[,|,]");// 字符串根据,分割
robot.delay(3000);// 延迟三秒,主要是为了预留出打开窗口的时间,括号内的单位为毫秒
for (int j = 0; j < num; j++) {//循环次数
for (int i = 0; i < authors.length; i++) {
String sentencet = authors[i];
Transferable tText = new StringSelection(sentencet);
clip.setContents(tText, null);
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);// 释放ctrl按键,像ctrl,退格键,删除键这样的功能性按键,在按下后一定要释放,不然会出问题。crtl如果按住没有释放,在按其他字母按键是,敲出来的回事ctrl的快捷键。
robot.delay(500);// 延迟一秒再发送,不然会一次性全发布出去,因为电脑的处理速度很快,每次粘贴发送的速度几乎是一瞬间,所以给人的感觉就是一次性发送了全部。这个时间可以自己改,想几秒发送一条都可以
robot.keyPress(KeyEvent.VK_ENTER);// 回车
// }
}
}
}
}
这个是键盘监听的关键代码
package createglobalhotkey;
import java.awt.AWTException;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.UIManager;
import com.melloware.jintellitype.HotkeyListener;
import com.melloware.jintellitype.JIntellitype;
import com.melloware.jintellitype.Main;
//创建全局快捷键
public class CreateGHKDemo extends JFrame implements ActionListener {
public JButton jb1, jb2, jb3, jb4, jb5, jb6;
// 快捷键1,2,3个
public static final int GLOBAL_HOT_KEY_1 = 0;
public static final int GLOBAL_HOT_KEY_2 = 1;
public static final int GLOBAL_HOT_KEY_3 = 2;
// 初始化
public CreateGHKDemo() {
init();
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
new CreateGHKDemo();
}
});
}
// 初始化
private void init() {
JPanel jp1 = new JPanel();
jp1.setLayout(null);
jb1 = new JButton("注册快捷键(F10)");
jb1.setBounds(20, 20, 260, 30);
jb1.addActionListener(this);
jp1.add(jb1);
jb2 = new JButton("注册快捷键(Shift+F10)");
jb2.setBounds(20, 60, 260, 30);
jb2.addActionListener(this);
jp1.add(jb2);
jb3 = new JButton("注册快捷键(Shift+Ctrl+F10)");
jb3.setBounds(20, 100, 260, 30);
jb3.addActionListener(this);
jp1.add(jb3);
jb4 = new JButton("删除快捷键(F10)");
jb4.setBounds(20, 140, 260, 30);
jb4.addActionListener(this);
jp1.add(jb4);
jb5 = new JButton("删除快捷键(Shift+F10)");
jb5.setBounds(20, 180, 260, 30);
jb5.addActionListener(this);
jp1.add(jb5);
jb6 = new JButton("删除快捷键(Shift+Ctrl+F10)");
jb6.setBounds(20, 220, 260, 30);
jb6.addActionListener(this);
jp1.add(jb6);
QQBoom boom=new QQBoom();
// 添加热键监听器
// 第二步:添加热键监听器
JIntellitype.getInstance().addHotKeyListener(new HotkeyListener() {
public void onHotKey(int markCode) {
switch (markCode) {
case GLOBAL_HOT_KEY_1:
boom.boomtest1(1);
break;
case GLOBAL_HOT_KEY_2:
boom.boomtest1(2);
break;
case GLOBAL_HOT_KEY_3:
boom.boomtest1(3);
break;
}
}
});
this.add(jp1);
this.setTitle("注册全局快捷键");
this.setSize(310, 310);
this.setVisible(true);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
// 事件监听
@Override
public void actionPerformed(ActionEvent e) {
// 监听注册全局快捷键
if (e.getSource().equals(jb1)) {
// 第一步:注册热键,热键标识,组合键(shift),主要热键F10
JIntellitype.getInstance().registerHotKey(GLOBAL_HOT_KEY_1, 0, 121);
JOptionPane.showMessageDialog(null, "注册快捷键(F10)", "注册成功,打开聊天窗口即可使用", JOptionPane.WARNING_MESSAGE);
}
// 监听注册全局快捷键
if (e.getSource().equals(jb2)) {
JIntellitype.getInstance().registerHotKey(GLOBAL_HOT_KEY_2, JIntellitype.MOD_SHIFT, 121);
JOptionPane.showMessageDialog(null, "注册快捷键(Shift+F10)", "注册成功,打开聊天窗口即可使用", JOptionPane.WARNING_MESSAGE);
}
// 监听注册全局快捷键
if (e.getSource().equals(jb3)) {
JIntellitype.getInstance().registerHotKey(GLOBAL_HOT_KEY_3,
JIntellitype.MOD_SHIFT + JIntellitype.MOD_CONTROL, 121);
JOptionPane.showMessageDialog(null, "注册快捷键(Shift+Ctrl+F10)", "注册成功,打开聊天窗口即可使用", JOptionPane.WARNING_MESSAGE);
}
// 监听删除全局快捷键
if (e.getSource().equals(jb4)) {
JIntellitype.getInstance().unregisterHotKey(GLOBAL_HOT_KEY_1);
JOptionPane.showMessageDialog(null, "删除快捷键(F10)", "删除成功", JOptionPane.WARNING_MESSAGE);
}
// 监听删除全局快捷键
if (e.getSource().equals(jb5)) {
JIntellitype.getInstance().unregisterHotKey(GLOBAL_HOT_KEY_2);
JOptionPane.showMessageDialog(null, "删除快捷键(Shift+F10)", "删除成功", JOptionPane.WARNING_MESSAGE);
}
// 监听删除全局快捷键
if (e.getSource().equals(jb6)) {
JIntellitype.getInstance().unregisterHotKey(GLOBAL_HOT_KEY_3);
JOptionPane.showMessageDialog(null, "删除快捷键(Shift+Ctrl+F10)", "删除成功", JOptionPane.WARNING_MESSAGE);
}
}
}
源码获取:
1、csdn资源下载
2、网盘下载链接:https://pan.baidu.com/s/1MxRkDL8HhsYel-48kwO0QA 提取码:60mj
3、群文件下载 811430241
4、github地址,欢迎大家star
最后的测试效果
运行后,点注册快捷键,然后最小化放到后台就可以了
此时打开任意一个聊天窗口
然后!F10进入坦克
用完了之后删除快捷键关闭窗口就可以了
什么?不是说好实现LOL问候的嘛
。。。
方法都教会了还非得实现嘛
下周更新下周更新,先欠着
后续还会持续更新版本,继续进行完善和趣味钻研
Java实现QQ微信轰炸机1.0(乞丐版)https://blog.csdn.net/xiao_xiao_b/article/details/93619747
java实现QQ微信轰炸机1.1(进阶版)https://blog.csdn.net/xiao_xiao_b/article/details/93989325
Java实现QQ微信轰炸机1.2(斗图乞丐版)https://blog.csdn.net/xiao_xiao_b/article/details/95601038
java实现QQ微信轰炸机1.3(自动调用聊天窗口)https://blog.csdn.net/xiao_xiao_b/article/details/96738172
java实现QQ微信轰炸机1.4(乞丐版大杂烩,斗图,调用QQ群窗口,定时)https://blog.csdn.net/xiao_xiao_b/article/details/97884588
Java实现QQ微信轰炸机1.5(乞丐版超进化)–妈妈再也不用担心我LOL骂不过别人了
技术小白,有误区劳烦大佬指点
你的点赞和关注就是我更新的最大动力