闲的没事,就想写一个QQ轰炸机,按照我最初的想法,这程序要根据我输入的QQ号进行轰炸,网上搜了一下,发现网上的案列略复杂,就想着自己写一个算了。。

思路:所谓轰炸机,就是给某个人发很多信息,一直刷屏,那我只需要实现两个基本的要求就行了

  1、程序能在消息输入框自动输入信息

  2、程序能自动把信息发送过去

按照这个思路,我查到python的pynput库能控制鼠标和键盘,并且发现qq打开一个聊天弹窗,键盘的输入就是将要发送的信息,那接下来问题就好解决了

首先写一个函数,函数功能是控制键盘输入你想要的信息,代码如下:

def keyboard_input(string):
    '''
    :param string: 你想要发送的信息
    :return: None
    '''
    from pynput.keyboard import Key,Controller
    #导入相应的库
    keyboard = Controller() #开始控制键盘
    keyboard.type(string) #键盘输入string
    return None

其次,用另一个函数实现发送功能,代码如下:

def mouse_click():#点击发送消息
    from pynput.mouse import Button,Controller
    #导入相应的库
    mouse = Controller() #开始控制鼠标
    mouse.press(Button.left)  # 按住鼠标左键
    mouse.release(Button.left)  # 放开鼠标左键
    return None

注意,我这样没有设置鼠标的位置,这就需要你把鼠标停放在发送按钮上

最后,用一个函数来控制发送多少条在信息,代码如下:

def main(number,string):#参数分别表示你要发多少条信息和发送的内容
    import time #导入time
    time.sleep(5) # 此时暂停5s,方便你打开聊天窗,并把鼠标停放在发送按钮上
    for i in range(number):#用循环来控制你发送多少条消息
        keyboard_input(string)
        mouse_click()

现在,你只需要运行这个函数,然后你有5s的时间打开聊天框,把鼠标停放在发送按钮上,就实现了qq消息轰炸,虽然很弱智,很简单,但是功能还是实现了的

效果图如下:

完整代码:

def keyboard_input(string):
    '''
    :param string: 你想要发送的信息
    :return: None
    '''
    from pynput.keyboard import Key,Controller
    #导入相应的库
    keyboard = Controller() #开始控制键盘
    keyboard.type(string) #键盘输入string
    return None

def mouse_click():#点击发送消息
    from pynput.mouse import Button,Controller
    #导入相应的库
    mouse = Controller() #开始控制鼠标
    mouse.press(Button.left)  # 按住鼠标左键
    mouse.release(Button.left)  # 放开鼠标左键
    return None

def main(number,string):#参数分别表示你要发多少条信息和发送的内容
    import time #导入time
    time.sleep(5) # 此时暂停5s,方便你打开聊天窗,并把鼠标停放在发送按钮上
    for i in range(number):#用循环来控制你发送多少条消息
        keyboard_input(string)
        mouse_click()
        time.sleep(0.2)

if __name__ == '__main__':
    main(20,"我太牛逼了")

总结:虽然代码才20多行,但是基本功能还是实现了的,但是也可以改进一下,比如:发送消息看上去很枯燥,你可以写一个消息列表,每次循环随机选取一个消息发送;还可以设置延时,可以设置多久时间发送多少条消息。当你把一些附加小功能完善后,你还可以把你写的这个程序打包起来,形成一个exe文件,发送给你的朋友,即使他电脑上没有python解释器,也可以运行,具体的打包过程我就不写了,自行百度。

最新文章

  1. 浅析c#内存泄漏
  2. HTML 邮件链接,超链接发邮件
  3. 未能加载文件或程序集“EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”
  4. js原生appendChild的bug
  5. 《Python基础教程(第二版)》学习笔记 -> 第五章 条件、循环 和 其他语句
  6. 如何使用JCA (J2EE 连接器架构)实现企业应用--转载
  7. HTML本地存储,localstorg的应用实例
  8. C++语言笔记系列之十二——C++的继承
  9. HDU 5868 Different Circle Permutation
  10. Python函数篇(6)-常用模块及简单的案列
  11. Android PackageManager源码浅析以及静默安装实现方式
  12. oracle 列行转换
  13. 在配置好环境以后,启动tomcat后,出现这个异常
  14. 【原创】虚拟机上实现绑定固定IP扩主机容器互访
  15. YII2中behavior行为的理解与使用
  16. spring Cloud 定时任务 @Scheduled
  17. window平台安装node.js绿色版
  18. js仿QQ拖拽删除
  19. 20145106 《Java程序设计》第5周学习总结
  20. Redis学习笔记-常用命令篇(Centos7)

热门文章

  1. java 新手必看大全
  2. 安装 python pip Django
  3. Gitlab_ansible_jenkins三剑客②Gitlab的后台管理
  4. 03中间件mycat对pxc集群的分片处理
  5. A - Alice's Print Service ZOJ - 3726 (二分)
  6. C#接口的简单创建及其用法
  7. 动态的加载显示oracle警告日志文件内容
  8. shell 重定向 2>&1 2>/dev/null 理解笔记
  9. 【GIT】git 删除本地分支和远程分支、本地代码回滚和远程代码库回滚
  10. 微服务(Microservices)【翻译】