按键精灵qq群私发脚本实战Day1总结:

总体思路及设计方法:

1.首先在手机端主界面通过颜色命令里边的FindMultiColor(多点找色命令),对qq这款app的图标进行抓取(抓取代码非手动输入,而是通过抓抓操作,在所有点选取完毕后,直接生成代码,调试无误后,复制即可)。定位时,为了显示色差,总共分为了5个不同点的位置,分别是图标左上角的白色,企鹅头部的黑色,嘴部的黄色,围巾的红色,以及脚部的黄色,抓抓操作以及图片以及代码如下:

Sub openQQ()    //通过Sub 子程序命令 对该过程进行封装,方便直接调用,类似与java中的方法
Dim intX,intY    //(通过多点找色),准确抓取qq这款APP的图标位置 坐标必须用Dim先定义好,否则会出错
FindMultiColor 0,0,0,0,"FFFFFF","49|-1|FFFFFF,25|3|000000,28|21|08B0FA,18|40|1E1EE9,12|59|08B0FA",0,0.9,intX,intY
If intX > -1 And intY > -1 ThenDelay 1000Tap intX, intY   //通过触摸命令里的Tap命令找到图标位置,并打开坐标位置
Else EndScript   //如果没找到,则脚本停止运行
End If
End Sub

2.在成功进入qq界面后,为了保证页面的整洁,避免色差干扰。我们要保证当前消息界面为空,没有任何消息,再选择联系人进行群发操作。那我们就要删除所有对话框,保证界面此时为空,则用FindMultiColor(多点找色命令)对未读消息的红点进行小范围精准定位,用再流程控制阶段用if else 语句分为以下两步:

​ 2.1我们要判断当前消息界面是否有新消息未读,如果有,则

​ (1)我们需要点击该对话框进入聊天界面进行回复(回复语句自定义)

​ (2)回复完成后,滑动屏幕,退出到消息界面

​ (3)删除当前对话框

​ 2.2如果当前没有消息未读,则只删除聊天对话框,图片和代码如下:

//2.删除所有聊天对话框,首先要判断是否有新 消息未读(通过多点找色找红点点)
Sub deleteAndOpean() //通过控制命令里的Sub子程序 对该过程进行封装,方便直接调用
Dim intX,intY
FindMultiColor 648,328,706,378,"FFFFFF","16|-3|314CF7,32|3|FFFFFF,0|29|FFFFFF,16|31|314CF7,30|29|FFFFFF",0,0.9,intX,intY   //FindMultiColor 对新消息的提示红点进行小范围精准定位
If intX > -1 And intY > -1 Then  //用 if else语句进行判断Delay 1000Tap 246, 319  //如果有未读消息,则打开该对话框Delay 1000    //延迟1秒     1000的单位是ms 毫秒(上下同)Answer()     //调用answer子程序
Else Touch 303, 321, 2000  //如果没有未读消息,则点击聊天框2秒钟,弹出删除按钮Delay 500Tap 397, 196        //点击删除按钮删除聊天框
End If
End SubSub Answer()     //如果有未读消息,通过这个子程序进行回复Tap 114, 1159 //将光标定位到聊天输入窗口Delay 1000     //给1s延迟InputText "欢迎加入狂神说按键精灵交流群"Delay 1000Tap 621,1153 //定位到发送按钮,通过触摸命令里的Tap命令,点击发送 Delay 500       //延迟0.5sSwipe 51,780,568,840,200 //通过触摸命令里的Swip滑动命令向左滑动回到qq主消息界面Delay 1000 deleteAndOpean() //再次调用deleteAndOpean子程序//注:此时再次调用deleteAndOpean()子程序,是因为该消息已经回复,还需要需要进行对话框的删除操作。
End Sub

3.我们可以通过颜色命令里的CmpColorEx(多点比色命令),先对当前消息界面的为空时的颜色进行抓取,选取十个点,又图可知,若界面为空,10个点的颜色相同,若此时当前消息界面仍有聊天框(必定在第一行),那么我们就再删除完第一行的对话框后,如果下面还有对话框,会自动弹上第一行,此时我们要判断整个消息界面是否还有对话框,如果有,则调用Sub deleteAndOpean()子程序再次进行删除(由于子程序的反复调用,实际上此步骤是循环操作,直到消息界面为空时才停止),如果没有,我们就可以选择底部的联系人,再选择对应的群,进行私发操作了。

//多点比色,比较当前页面是否有暂存聊天框,是否是空白
Sub openPerson()
If CmpColorEx("82|314|FAF6F5,78|336|FAF6F5,91|355|FAF6F5,65|385|FAF6F5,604|317|FAF6F5,665|331|FAF6F5,336|402|FAF6F5,314|306|FAF6F5,629|385|FAF6F5,193|370|FAF6F5",0.9) = 1 ThenDelay 1000           //if判断,如果当前页面空白,没有对话框Tap 265, 1210   //点击打开联系人Delay 1000Tap 218, 466    //点击群聊Delay 1000Tap 269, 574    //选择需要发送的群Delay 1000Tap 661, 100    // 打开菜单栏Delay 1000Tap 625,489     //打开群成员列表
ElsedeleteAndOpean()  //如果还有其他对话框,调用这个子程序删除Delay 1000openPerson()    //继续判断是否有对话框
End If
End Sub

通过以上的操作,可以准确的在手机主界面自动打开qq,进入qq后,自动检测当前消息界面是否为空,是否有暂存聊天框,以及未读消息。如果有,则自动回复所有未读消息,并清空所有聊天框,在消息界面清空后,点击联系人按钮,选择需要私发的群,打开菜单栏,打开群成员列表,进行群成员的选择


Day1实战整体源码如下:

//1.openQQ
Call openQQ()   //调用openQQ子程序
Delay 1000        //注意,注意,注意  调用下一个子程序之前,需要有一个延迟,否则程序会执行错误
Call deleteAndOpean()
Delay 1000
Call openPerson()
Delay 1000Sub openQQ()
Dim intX,intY    //(通过多点找色),准确抓取qq这款APP的图标位置
FindMultiColor 0,0,0,0,"FFFFFF","49|-1|FFFFFF,25|3|000000,28|21|08B0FA,18|40|1E1EE9,12|59|08B0FA",0,0.9,intX,intY
If intX > -1 And intY > -1 ThenDelay 1000Tap intX, intY   //找到图标位置,打开坐标位置
Else EndScript   //如果没找到,则脚本停止运行
End If
End Sub
//定义一个过程,可以在脚本中调用这个过程//2.删除所有聊天对话框,首先要判断是否有新 消息未读(通过多点找色找红点点1)
Sub deleteAndOpean()
Dim intX,intY
FindMultiColor 648,328,706,378,"FFFFFF","16|-3|314CF7,32|3|FFFFFF,0|29|FFFFFF,16|31|314CF7,30|29|FFFFFF",0,0.9,intX,intY
If intX > -1 And intY > -1 Then Delay 1000Tap 246, 319  //如果有未读消息,则打开该对话框Delay 1000
Call Answer()     //通过Call方法调用answer子程序,Call可以省略
Else Touch 303, 321, 2000  //如果没有未读消息,则点击聊天框2秒钟,弹出删除按钮Delay 500Tap 397, 196        //点击删除按钮删除聊天框
End If
End SubSub Answer()Tap 114, 1159 //将光标定位到聊天输入窗口Delay 1000InputText "欢迎加入狂神说java交流群,群号78846958"Delay 1000Tap 621,1153 //点击发送Delay 500Swipe 51,780,568,840,200 //向左滑动回到qq主消息界面Delay 1000 deleteAndOpean() //调用deleteAndOpean子程序
End Sub
//定义一个过程,可以在脚本中调用这个过程//多点比色,比较当前页面是否有暂存聊天框,是否是空白
Sub openPerson()
If CmpColorEx("82|314|FAF6F5,78|336|FAF6F5,91|355|FAF6F5,65|385|FAF6F5,604|317|FAF6F5,665|331|FAF6F5,336|402|FAF6F5,314|306|FAF6F5,629|385|FAF6F5,193|370|FAF6F5",0.9) = 1 ThenDelay 1000           //if判断,如果当前页面空白,没有对话框Tap 265, 1210   //点击打开联系人Delay 1000Tap 218, 466    //点击群聊Delay 1000Tap 269, 574    //选择需要发送的群Delay 1000Tap 661, 100    // 打开菜单栏Delay 1000Tap 625,489     //打开群成员列表
ElsedeleteAndOpean()  //如果还有其他对话框,调用这个子程序删除Delay 1000openPerson()    //继续判断是否有对话框
End If
End Sub

问题总结:

  1. 每个大步骤执行前,以及执行完毕后,都需要加一个延迟,一般为1000ms(1s),否则会有热键冲突,导致两个命令之间没有缓冲,脚本无法识别,导致运行失败。同时,每个小命令,例如Tap,Swipe,Touch等,在执行之前也需要加一个缓冲,一般为500ms,或者1000ms

  2. 在执行Answer子程序时,每次执行Swipe命令,总是出错误,原因在于没有清空当前的聊天窗口,导致命令执行位置与窗口内已发送消息的所在位置冲突,因此每次执行前,都应该先清空聊天窗口内的消息。另外如果清空之后还是不能正常运行,则是因为Swipe选择的点可能有问题,可以重新选点,然后把移动所需时间调短一点,一般time<500ms即可

  3. 调用子程序的时候,可以不用加Call,例如调用openQQ子程序,可以用openQQ或者openQQ()两种方式进行调用。但是如果前面加上 Call,那么语法格式必须为 Call openQQ(),后面必须有(),否则会报错


Day2将会完整的带领有兴趣的小伙伴做完整个qq群私发脚本,未完代更…

按键精灵实现qq群私发脚本Day1实战讲解相关推荐

  1. 自动按键脚本_阔怕...按键精灵还能将别人的脚本导入为自己所用

    在按键精灵中你可以自己编辑脚本也可以直接导入别人的脚本直接使用.但是按键精灵的脚本文件是按键一定的数据格式保存的,如果单纯地把Q文件里面的内容直接复制到编辑器上是无法识别的.那如何导入别人的脚本? 一 ...

  2. 教大家用按键精灵写一个快手自动抢红包脚本

    教大家用按键精灵写一个快手自动抢红包脚本 先设计好界面,为了节省大家的时间,界面方面我们早就设计好了,请看下面 设计好界面后就进入写代码的步骤,这个其实你可以先录制一遍,然后把录制的代码进行二次修改, ...

  3. 思聪式吃完热狗,给微商秀:按键精灵实现微信群好友自动化添加!

    最近朋友做微商代理,没事就发朋友圈!我神烦,我就说,你再发我就把你屏蔽了!!!他后边跟我讲,没办法啊,老弟!生活不易,且行且珍惜吧,哟哟!哎哟,我去,我这个暴脾气就来了.我说,我这就把你屏蔽了!!后来 ...

  4. python 下载qq群文件_python作业/练习/实战:下载QQ群所有人的头像

    步骤与提示: 1.在腾讯群网页中进入任意一个群,获取相关信息,可以用postman是试一下,可以看到我们要的是mems里面的数据,需要获取到QQ号和群名片,如果没有群名片的话取昵称 2.根据QQ号下载 ...

  5. python 按键精灵_python中用ctypes模拟点击的实例讲解

    在小编学习python中的模拟点击之前,我们想要对某一项操作进行自动指令的重复,可以选择大家熟知的按键精灵.那么对比python的模拟点击,小编还是觉得python中使用更加方便.这样说不能让有些小伙 ...

  6. 按键精灵2014微信群内给好友轮流发私信

    给微信群内好友轮流发私信 1,界面如图 2,程序中要找的图片为 3,程序源码如下: /**  *此版本适合windows版微信,电脑的分辨率需要调到1366*768  */ x = 387 //第一行 ...

  7. 刷QQ群的VBS脚本

    作者:小竹 使用方法:讲以下代码保存为QQ.vbs,然后复制你要发送的东西,双击QQ.vbs就可以自动刷屏拉! 注意:本代码仅作为技术研究之用,请勿非法使用! Set WshShell= WScrip ...

  8. 按键精灵万能写法轻松驾驭图色脚本

    今天分享一套万能写法,利用这套写法可以快速实现想要的功能.需要使用紫猫老师的插件,一般按键都是有自带的. 以找图为例: 找到以数组方式返回:图片序号:图片名:坐标等参数. Import "z ...

  9. 按键精灵打卡怎么写_按键精灵手机版定时点击脚本

    Dim h,m,s,HH,MM,SS,t1 HH=ReadUIConfig("HH","13") MM=ReadUIConfig("MM", ...

最新文章

  1. java tostringutils_StringUtils
  2. 历时3年,清华大学iDLab实验室打造《强化学习和控制》课程及讲义!
  3. 解决小米手机无法收到开机广播的问题
  4. Node.js 15 正式发布,14 将支持到 2023 年
  5. linux CentOs 权限导致的Apache - DocumentRoot must be a directory的解决方案
  6. cad快捷命令大全_最全CAD快捷键命令大全(图文版、文字版、键盘版)
  7. php mysql 继承,重用MySQL连接PHP对象继承
  8. mongodb spring 超时时间_mongoDB(spring 部分配置)
  9. jmap查看java进程占用的数据库连接数
  10. Lotus Domino服务器及其应用系统的高级管理(2)
  11. 推荐几款好用的编程字体
  12. Concurrency in C# Cookbook中文翻译 :c#的并发烹饪书
  13. 【vim环境配置】详细实录
  14. 显卡性能暴涨,2K高清+144hz显示器飞入寻常百姓家
  15. Python中用tkinter实现BMI计算
  16. LDK 7.1开发包正式发布
  17. 图片内,笔迹轨迹识别
  18. 状态压缩dp学习小记part2
  19. 详细解释什么是hadoop和spark,及其工作原理
  20. html地球转动效果,使用纯 CSS3 动画实现地球转动

热门文章

  1. 聚合数据Android SDK 空气质量查询演示示例
  2. SpringBoot整合最新Elasticsearch Java API Client 7.16教程
  3. async和await以及promise的区别
  4. ​富士莱医药通过注册:年营收近5亿 钱祥云曾非法买卖外汇
  5. 意淫系列-2018美图春招笔试题
  6. vue2 cli使用wangEditor ( wangEditor安装依赖, wangEditor.vue文件实例, wangEditor工具栏配置的key列表 )
  7. 使用队列 模拟跳舞舞伴Java实现
  8. 人脸检测进阶:使用 dlib、OpenCV 和 Python 检测面部标记
  9. (只为娱乐,笑笑可了)赛龙舟
  10. 计算机组成原理实验一---运算器 预习报告