​ 在讲解代码之前我们先来回忆一下,平时我们发送消息时,先打开微信或QQ的界面,在信息栏中输入你要发送的内容在点击发送或通过快捷键发送。如果要发送表情时,先打开微信或QQ的界面,在点击表情包中你要发送的表情在点击发送或通过快捷键发送

​ 而这个简易版微信或QQ轰炸就是通过pyautogui模块来模拟键盘和鼠标来发送消息,tkinter模块来将其包装成一个应用界面

pyautogui模块

https://www.cnblogs.com/MrYang161/p/11519282.html

tkinter模块

https://www.cnblogs.com/MrYang161/p/11528037.html

代码解析

下面的代码是以发送表情为例

#先通过这个找到需要点击的位置
import pyautogui as gui
screenWidth, screenHeight = gui.size()#以双整数元组的形式返回屏幕的(宽度,高度)以像素为单位
currentMouseX, currentMouseY = gui.position()
# '''
# 以双整数元组的形式返回鼠标指针的当前xy坐标。Args: x (int, None, optional)
# ——如果没有,这个参数将覆盖返回值中的x。y (int, None, optional)
# ——如果不是None,这个参数将覆盖返回值中的y。返回:(x, y)鼠标当前xy坐标的元组。注意:position() functon不检查故障保险。
# '''
print(screenWidth, screenHeight )
print(currentMouseX, currentMouseY ) #在将位置改完之后在运行以下代码
import tkinter
from tkinter import messagebox from tkinter import ttk
import pyautogui as gui
import time def run(): time.sleep(2)
gui.hotkey('Alt', 'Tab')
gui.click(951, 685)#点击表情包的位置(要更改)
time.sleep(0.6) gui.click(967, 330)#点击要发送的表情的位置(要更改)
gui.click(953, 695)#点击信息栏的位置(要更改)
time.sleep(0.2)
gui.hotkey('ctrl', 'c')
time.sleep(0.2)
gui.hotkey('ctrl', 'enter')
for i in range(4): gui.hotkey('ctrl', 'v')
time.sleep(0.2)
gui.hotkey('ctrl', 'enter')
def take():
time.sleep(2)
gui.hotkey('Alt', 'Tab')
gui.click(951, 685)#点击表情包的位置(要更改)
time.sleep(0.6) gui.click(967, 330)#点击要发送的表情的位置(要更改)
gui.click(953, 695)#点击信息栏的位置(要更改)
time.sleep(0.2)
gui.hotkey('ctrl', 'c')
time.sleep(0.2)
gui.hotkey('ctrl', 'enter')
for i in range(4): gui.hotkey('ctrl', 'v')
time.sleep(0.2)
gui.hotkey('ctrl', 'enter') def reu(s):
print(s)
if s=='qq':
run()#运行QQ轰炸
elif s=='wei':
take()#运行微信轰炸 rook=tkinter.Tk()
rook.title('微信轰炸')#界面名称
rook.geometry('450x300')#界面大小
#<VirtualEvent event x=0 y=0>
comvalue = tkinter.StringVar() # 窗体自带的文本,新建一个值
comboxlist = ttk.Combobox(rook, width=12,textvariable=comvalue)# 初始化 comboxlist["values"] = ('qq','wei')#下拉框中的值
comboxlist.current(0) # 选择第一个
comboxlist.bind("<<ComboboxSelected>>", reu) # 绑定事件,(下拉列表框被选中时,绑定go()函数)
#绑定事件,(下拉列表框被选中时,绑定func()函数)
comboxlist.pack()
tkinter.Label(rook,text='请输入:',font=("黑体",10, "bold"),bg='Yellow').pack() # 绑定变量
e = tkinter.Variable()
entry2 = tkinter.Entry(rook, textvariable=e)#输入内容
entry2.pack() # e就代表输入框这个对象
# 设置值
b1=tkinter.Button(rook,text='运行',font=("黑体",11, "bold"),command=lambda : reu(entry2.get())).pack()
#输入的内容entry2.get())
rook.mainloop()

python简易版微信或QQ轰炸的更多相关文章

  1. Android学习之路——简易版微信为例(三)

    最近好久没有更新博文,一则是因为公司最近比较忙,另外自己在Android学习过程和简易版微信的开发过程中碰到了一些绊脚石,所以最近一直在学习充电中.下面来列举一下自己所走过的弯路: (1)本来打算前端 ...

  2. Android学习之路——简易版微信为例(二)

    1 概述 从这篇博文开始,正式进入简易版微信的开发.深入学习前,想谈谈个人对Android程序开发一些理解,不一定正确,只是自己的一点想法.Android程序开发不像我们在大学时候写C控制台程序那样, ...

  3. Android学习之路——简易版微信为例(一)

    这是“Android学习之路”系列文章的开篇,可能会让大家有些失望——这篇文章中我们不介绍简易版微信的实现(不过不是标题党哦,我会在后续博文中一步步实现这个应用程序的).这里主要是和广大园友们聊聊一个 ...

  4. Python 简易版选课系统

    一.创建学生类 # # 创建学生类 import random class Student: def __init__(self,num,name,address,course_lst=None): ...

  5. python简易版学生管理系统

    #coding=utf- def showInfo(): print("**************") print(" 学生管理系统") print(&quo ...

  6. Python写地铁的到站的原理简易版

    Python地铁的到站流程及原理(个人理解) 今天坐地铁看着站牌就莫名的想如果用Python写其工作原理 是不是很简单就小试牛刀了下大佬们勿喷纯属小弟个人理解 首先来看看地铁上显示的站牌如下: 就想这 ...

  7. Python模拟简易版淘宝客服机器人

    对于用Python制作一个简易版的淘宝客服机器人,大概思路是:首先从数据库中用sql语句获取相关数据信息并将其封装成函数,然后定义机器问答的主体函数,对于问题的识别可以利用正则表达式来进行分析,结合现 ...

  8. Python 开发个人微信号在运维开发中的使用

    一.主题:Python 开发个人微信号在运维开发中的使用 二.内容: 企业公众号 介绍开发微信公众号的后台逻辑,包括服务器验证逻辑.用户认证逻辑 个人微信号 面对企业微信的种种限制,可以使用 Itch ...

  9. Python如何实现微信群万人同步直播?

    很多人传言微信网页版(https://wx.qq.com/)接口已经被封了,所以所有的微信都不能登录网页版,这是错误的. 2019年7月微信对网页版微信进行了动态安全策略调整,导致一大批微信号不能登录 ...

随机推荐

  1. Java实现 LeetCode 787 K 站中转内最便宜的航班(两种DP)

    787. K 站中转内最便宜的航班 有 n 个城市通过 m 个航班连接.每个航班都从城市 u 开始,以价格 w 抵达 v. 现在给定所有的城市和航班,以及出发城市 src 和目的地 dst,你的任务是 ...

  2. Java实现 LeetCode 718 最长重复子数组(动态规划)

    718. 最长重复子数组 给两个整数数组 A 和 B ,返回两个数组中公共的.长度最长的子数组的长度. 示例 1: 输入: A: [1,2,3,2,1] B: [3,2,1,4,7] 输出: 3 解释 ...

  3. Java实现 蓝桥杯 基础练习 查找整数

    基础练习 查找整数 时间限制:1.0s 内存限制:256.0MB 提交此题 锦囊1 锦囊2 问题描述 给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个. 输入格式 第一行包含一个整数n ...

  4. JQuery实现对html结点的操作(创建,添加,删除)

    效果图: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <ti ...

  5. 性能测试中TPS上不去的原因

    TPS(Transaction Per Second):每秒事务数,指服务器在单位时间内(秒)可以处理的事务数量,一般以request/second为单位. 压测中为什么TPS上不去的原因: .网络带 ...

  6. (九)DVWA之SQL Injection--SQLMap&Fiddler测试(High)

    一.测试需求分析 测试对象:DVWA漏洞系统--SQL Injection模块--ID提交功能 防御等级:High 测试目标:判断被测模块是否存在SQL注入漏洞,漏洞是否可利用,若可以则检测出对应的数 ...

  7. Okapi BM25算法

    引言 Okapi BM25,一般简称 BM25 算法,在 20 世纪 70 年代到 80 年代,由英国一批信息检索领域的计算机科学家发明.这里的 BM 是"最佳匹配"(Best M ...

  8. 5、vue的传值

    1-父组件向子组件  -父组件向孙子组件传值(属性传值) //父组件<template> <div id='app'> <headera v-bind:hea=" ...

  9. @codeforces - 575E@ Spectator Riots

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 一个以 (0, 0) 为左下角,(10^5, 10^5) 为右上 ...

  10. 手写网页扫雷之js部分(vue)

    var vm = new Vue({ el:"#ui", data(){ return{ num:0, saoleiStyle:{ width: "0px", ...