AI手机网,短视频直播 硬改改机 一键新机 群控软件 刷机定制

 找回密码
 立即注册
搜索
查看: 1729|回复: 3

侠客手机群控引擎自定义插件

[复制链接]
发表于 2018-5-18 18:35:50 | 显示全部楼层 |阅读模式
我们的软件名叫“侠客手机群控引擎”,既然它是一个引擎,就不应该只局限于一成不变的功能,所以应客户需求放出了插件功能。  C. x* p; T6 {& ~* C7 l

* f7 X/ i# ^' G/ @       用户可以基于自己需要来实现自己需要的任意功能,插件采用标准C# DLL方式开发,非常容易入门,目前提供了屏幕、按键、元素以及部分Intent实现的特定功能。
8 m5 L+ q) n: t! M) o" P: j! P

5 Z. q( R# r4 y6 f2 L$ }' h下面来给大家简单介绍一下插件开发、以及使用方法。# B0 Z$ {8 t& a) }* ]

2 z; {) c0 Q( Y: j  s; \写插件需要的环境:
VS2015 .net4.6
以这个演示项目为例讲解一下插件的编写以及使用方法
  ]' A8 H) @3 k* j2 J       首先,插件的类型其实是一个标准的.net dll类库,只不过它继承了侠客手机群控引擎的SDK来实现而已
3 |' F0 S( j1 C0 P4 S6 Z只要继承AndroidControlSDK.AndroidScript并实现Name Description RunScript这3个方法,即可实现一个完整的插件

2 s' x4 y* _0 O6 f5 G完整DEMO
  • using System;
  • using System.Collections.Generic;
  • using System.Runtime.Serialization;
  • using System.Threading;
  • using System.Windows.Media;
  • namespace mysss
  • {
  •     public class Class1 : AndroidControlSDK.AndroidScript //继承AndroidControlSDK.AndroidScript来实现插件功能
  •     {
  •         public override string Name()
  •         {
  •             //返回插件的名称
  •             return "自动给附近的人打招呼";
  •         }
  •         public override string Description()
  •         {
  •             //返回插件的描述
  •             return "这是一个演示脚本";
  •         }
  •         //这个方法是插件的执行主体,所有功能都在这里执行
  •         public override void RunScript()
  •         {
  •             //显示调试日志,正式用时可以不开启这个
  •             ShowLogConsole();
  •             //在手机屏幕上显示运行状态
  •             ShowStatus("正在打开附近的人..", Color.FromRgb(78, 17, 255));
  •             //打开附近的人界面,这个具体参数请查看开发博客
  •             var dic = new Dictionary<string, string> { { "act", "opennearui" } };
  •             SendIntent(dic);
  •             //冷却1000毫秒
  •             Thread.Sleep(5000);
  •             //定义个int变量用于计数
  •             var count = 0;
  •             //定义一个变量为打招呼的内容
  •             var zhaohu = "hi,你好啊";
  •             //在手机屏幕上显示运行状态
  •             ShowStatus("正在获取附近的人“列表”..");
  •             //获取所有的昵称 com.tencent.mm:id/agg 这个是附近的人列表里的昵称资源id,这个可以通过android sdk里的 uiautomatorviewer.bat 这个工具来获取
  •             var nicks = GetUiTexts("com.tencent.mm:id/agg");
  •             Console.WriteLine("获取到的昵称数量:" + nicks.Count);
  •             //循环给所有昵称打招呼
  •             for (var index = 0; index < nicks.Count; index++)
  •             {
  •                 var nickname = nicks[index];
  •                 ShowStatus("正在加“" + nickname + "”[累计:" + count + "]..");
  •                 //查看是否包含这个昵称
  •                 if (FindObj(nickname).Contains("成功找到元素"))
  •                 {
  •                     //包含就点击它
  •                     if (FindAndCLickObj(nickname).Contains("true"))
  •                     {
  •                         //冷却1000毫秒
  •                         Thread.Sleep(1000);
  •                         //查找并点击“打招呼”
  •                         var result = FindAndCLickObjByRegex("打招呼");
  •                         //输出结果到日志
  •                         Console.WriteLine(result);
  •                         //如果点击成功
  •                         if (result.Contains("true"))
  •                         {
  •                             Thread.Sleep(1000);
  •                             //查找输入框输入内容
  •                             FindAndInutText("android.widget.EditText", zhaohu, 0);
  •                             Thread.Sleep(2000);
  •                             //添加好友
  •                             FindAndCLickObjByRegex("(加为朋友|发送)");
  •                             Thread.Sleep(1000);
  •                             //返回
  •                             FindAndCLickObj("返回");
  •                             Thread.Sleep(1000);
  •                         }
  •                         else
  •                         {
  •                             //如果没有打招呼按钮则直接返回(一般是已经添加过了)
  •                             FindAndCLickObj("返回");
  •                         }
  •                     }
  •                 }
  •                 //计数器加1
  •                 count++;
  •             }
  •         }
  •     }
  • }
    % n9 v. h" d/ T& e9 d
, F6 i! ?3 N% d2 P: D6 O9 ]
以上代码就是一个完整的插件方法,同一个dll里可以做多个这样的插件,最后生成插件
" W8 D# n/ B* c$ \

9 o2 |7 \. ^, r3 X
然后就可以运行它了,勾上群控后,也可以象其他脚本一样,对所有手机生效。
# b. l& C  Q/ X
 楼主| 发表于 2018-5-18 18:36:04 | 显示全部楼层
插件的原理其实就是在界面上查找元素然后模拟点击,输入哦,所有只要是手机上的app都可以操作,很多客户都用自定义插件实现了自己需要的功能,讨论组里面已经有一键打开app的demo,其他方法参照通用点击查找方法
 楼主| 发表于 2018-5-18 18:36:20 | 显示全部楼层
附件源码调试前请先添加对群控安装目录下AndroidModel.dll和xcontrol.core.dll两个文件的引用。
发表于 2018-9-4 22:09:21 | 显示全部楼层
好东西,谢谢分享!!!!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

技术交流售后群

QQ|小黑屋|手机版|站点找错-建议|AI手机网 |Sitemap



GMT+8, 2024-3-28 18:42 , Processed in 3.143727 second(s), 27 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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