找回密码
  注册[Register]
查看: 1689|回复: 16

【Ctrl.js】微信自动抢红包源码

[复制链接]
发表于 2020-11-27 18:45 | 显示全部楼层 |阅读模式
禁止求评分、诱导评分、互刷评分、互刷悬赏值,违规者封号处理。
禁止发布推广、邀请码、邀请链接、二维码或者有利益相关的任何推广行为。
所有非原创软件请发布在【精品软件区】,发帖必须按照本版块版规格式发帖。

  1. //--------------------------------------------------------------------------------------------------
  2. //Ctrl.js 开发环境:http://ikaiwei.com:8889/ctrljs/
  3. //Ctrl.js 视频教程:https://www.bilibili.com/video/BV1y54y1D7rr?from=search&seid=6533699600441036938
  4. //Ctrl.js 帮助文档:http://www.ikaiwei.com/download/ctrljs/ctrl.js.pdf
  5. //Ctrl.js 开发文档:http://ikaiwei.com:8889/ctrljsapi/index.html
  6. //Ctrl.js 手机app(开维控制精灵)华为下载:https://appstore.huawei.com/app/C100728387
  7. //Ctrl.js 后台保活:禁止屏幕休眠;开启悬浮框;关闭电池优化
  8. //--------------------------------------------------------------------------------------------------

  9. // 脚本功能:微信抢红包V1.0
  10. // 脚本使用:脚本运行后,切换到微信抢红包界面,点击开始运行脚本即可
  11. // 脚本范围:只抢最后一个红包;修改代码时注意抢不可太频繁
  12. // 运行环境:无需root权限;华为手机,安卓9.0以上版本;微信版本7.0.19
  13. // 注意事项:1.确保微信登陆状态 2.微信的节点会随版本变化,如果版本不同则需要修改代码

  14. // 判断是否开启无障碍权限,如果没有直接退出
  15. if(init()==false)
  16.     throw '权限未开启';
  17. // 悬浮窗代码
  18. var v = fui.layout(
  19.         <frame>
  20.                   <button id="action" text="开始运行" w="90" h="50"/>
  21.           </frame>
  22. );

  23. var flag = true;
  24. var x = 0, y = 0;
  25. var startX = 0, startY = 0;
  26. var windowX = 0, windowY = 0;
  27. var positionX = 0, pisitionY = 0;
  28. var downTime;
  29. fui.id("action").touch(function(view, event){
  30.         switch(event.getAction()){
  31.       case event.ACTION_DOWN:
  32.         startX = event.getRawX();
  33.         startY = event.getRawY();
  34.         windowX = event.getRawX() - x;
  35.         windowY = event.getRawY() - y;
  36.         downTime = new Date().getTime();
  37.         break;
  38.       case event.ACTION_MOVE:
  39.         if(x !== 0){
  40.                 fui.setPostin(event.getRawX() - windowX, event.getRawY() - windowY);
  41.         }
  42.         x = event.getRawX() - windowX;
  43.         y = event.getRawY() - windowY;
  44.         break;
  45.       case event.ACTION_UP:
  46.         // 如果移动的距离小于 5, 则认为点击事件
  47.         if(Math.abs(event.getRawY() - startY) < 100 && Math.abs(event.getRawX() - startX) < 100){
  48.             // 如果点击的时间长于 1.5s, 则认为是长按事件
  49.             if(new Date().getTime() - downTime > 1500){
  50.                     longClick();
  51.             }else{
  52.                     onClick();
  53.             }
  54.         }
  55.         break;
  56.     }
  57. });

  58. // 函数功能:悬浮窗长按消失
  59. function longClick() {
  60.         fui.close();
  61. }

  62. // 函数功能:悬浮窗点击时间
  63. function onClick(){
  64.   var view = fui.id('action');
  65.   if(view.getText() == '开始运行'){
  66.           view.setText("停止运行");
  67.     flag = true;
  68.     startrun();
  69.   }else{
  70.           view.setText("开始运行");
  71.     flag = false;
  72.   }
  73.      
  74. }

  75. // 函数功能:在此添加监控脚本
  76. // 函数说明:此函数为监控红包控件状态,只循环抢最后一个红包
  77. // 函数参数:抢红包不可太频繁操作,否则容易被监控
  78. function startrun(){
  79.           while(flag){
  80.       // 有红包消息
  81.       toast("开始扫描红包");
  82.       var hongBao = cs.text("微信红包").find();
  83.       if(hongBao.size() <= 0){
  84.         toast("没有找到红包");
  85.         sleep(3000);
  86.         continue;
  87.       }
  88.       // 红包个数
  89.       toast("找到红包个数为:" + hongBao.size());
  90.       for(var i = hongBao.size() - 1;i >= 0 && i > hongBao.size() - 2;i--){
  91.         // 红包消息不在了, 被消息冲掉
  92.         if(hongBao.get(i) == null){
  93.           break;
  94.         }
  95.         // 红包消息还在, 没有被消息冲掉
  96.         // 红包还没有抢完
  97.         if(cs.text("微信红包").find().get(i).getParent().getParent().getChild(0).getChild(1).getChildCount() == 1){
  98.           // 点击红包消息
  99.           cs.text("微信红包").find().get(i).getParent().getParent().getParent().click();
  100.           sleep(2000);
  101.           // 如果红包可以打开
  102.           if(cs.desc("开").find().size() > 0){
  103.             // 开红包
  104.             cs.desc("开").findOnce().click();
  105.             sleep(2000);
  106.           }
  107.           back();
  108.           sleep(2000);
  109.         }
  110.       }
  111.          
  112.     }  
  113. }
复制代码
131119aynub3cbgn9cuygv.png
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2020-11-27 18:55 | 显示全部楼层

感谢分享,谢谢提供分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-11-27 19:17 | 显示全部楼层
多谢分享多谢分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-11-27 19:32 | 显示全部楼层

不错不错,,,
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-11-27 19:37 | 显示全部楼层
6666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-11-27 19:50 | 显示全部楼层
多谢楼主分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-11-27 19:53 | 显示全部楼层

支持楼主,谢谢分享。
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-11-27 21:47 | 显示全部楼层

不错不错~~~~~
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-11-27 22:09 | 显示全部楼层
谢谢大牛
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-11-28 00:16 | 显示全部楼层

感谢楼主的分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

RSS订阅|手机版|小黑屋|广告投放|大牛论坛

GMT+8, 2024-5-30 06:19 , Processed in 0.060424 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表