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

 找回密码
 立即注册
查看: 2851|回复: 3

正式开放侠客手机群控引擎自定义插件

[复制链接]
发表于 2018-5-30 11:24:59 | 显示全部楼层 |阅读模式
我们的软件名叫“侠客手机群控引擎”,既然它是一个引擎,就不应该只局限于一成不变的功能,所以应客户需求放出了插件功能。
用户可以基于自己需要来实现自己需要的任意功能,插件采用标准C# DLL方式开发,非常容易入门,目前提供了屏幕、按键、元素以及部分Intent实现的特定功能。
下面来给大家简单介绍一下插件开发、以及使用方法。
写插件需要的环境:
VS2015 .net4.6
以这个演示项目为例讲解一下插件的编写以及使用方法
首先,插件的类型其实是一个标准的.net dll类库,只不过它继承了侠客手机群控引擎的SDK来实现而已
只要继承AndroidControlSDK.AndroidScript并实现Name Description RunScript这3个方法,即可实现一个完整的插件
完整DEMO
) P$ Y" E" @* Q. z1 H
1

" `3 W- U1 `# k0 a
[color=rgb(49, 124, 197) !important]2
4 ?0 `8 H* i7 f9 B0 i
3

7 o6 J, i  H1 i7 x
[color=rgb(49, 124, 197) !important]4
) c5 ^0 U  Z0 S7 Q
5
* e# h) b7 t4 k/ d6 Z7 @- U9 O# |
[color=rgb(49, 124, 197) !important]6
( M5 G& P! i. A+ a+ J2 T- g0 N
7
# c4 J6 X  n! f
[color=rgb(49, 124, 197) !important]8

8 }# ~) {, U, H& D# P2 _9 o+ I7 z
9

% ?, X  p9 P: P* A8 d' y
[color=rgb(49, 124, 197) !important]10

" [6 w9 a; D- Y3 }- t* j" B" W
11

( g, Z; u8 A1 F6 H2 B6 W% a) |
[color=rgb(49, 124, 197) !important]12

0 F# u, S1 o. a
13
" y/ i. u" M8 w5 L
[color=rgb(49, 124, 197) !important]14

; A( |8 \# f4 J
15

4 ^1 T9 r9 m5 e; V
[color=rgb(49, 124, 197) !important]16
% b, g+ R4 S1 r) T" j  n, m& U, A0 J& W
17
+ G5 p  `9 R* _6 K* Y
[color=rgb(49, 124, 197) !important]18

2 L0 w7 X5 W- S7 b
19
" _% n3 D; E; F. U5 i9 u1 N* C5 C
[color=rgb(49, 124, 197) !important]20
8 {" V4 ?8 h, C0 @( A  ~
21

! B: }1 n$ x4 i9 N
[color=rgb(49, 124, 197) !important]22
8 r) n( ^3 c# s: a  R
23

$ W' V9 q' }' i1 B
[color=rgb(49, 124, 197) !important]24
& \2 \5 h5 y) R) s7 K1 h$ D
25
/ `; I1 Y: h6 Q: T
[color=rgb(49, 124, 197) !important]26

# b* `# p* ^" `9 M! d
27

; q! E) ?1 c$ `/ W
[color=rgb(49, 124, 197) !important]28
" ]2 W. G* r8 p, j% B' P5 d& ]
29
  i  I4 ?. r7 Q) h0 ~+ F1 d' `8 c
[color=rgb(49, 124, 197) !important]30
) P1 G( _2 F! r& w) Y) o/ g6 }0 v
31
; C: `- a  h7 r; [; \
[color=rgb(49, 124, 197) !important]32

$ l! `; V9 O- y4 f
33

, |# L1 @" l; _# `
[color=rgb(49, 124, 197) !important]34

- T" g* Q0 m6 N9 G8 O
35
- C8 H6 z6 R! c. Y
[color=rgb(49, 124, 197) !important]36

3 G/ f# H3 {: u/ E5 q- @1 J" q$ K
37
: s/ ^% B5 K" G" S  }/ u% C
[color=rgb(49, 124, 197) !important]38

  n* k, i0 M3 Y5 S
39
& d; ]' Y% C! }+ G4 w
[color=rgb(49, 124, 197) !important]40
5 S* ^* g0 X9 J4 o- Q7 I
41

0 a# z3 ]8 f+ C8 E% x4 |) R
[color=rgb(49, 124, 197) !important]42

3 ?5 f1 i. ]2 ?# n
43

- j8 h# R# x4 @4 T0 k$ @1 w+ Z
[color=rgb(49, 124, 197) !important]44

. |7 J& Y8 V1 d! G+ H( b
45

  a3 q$ A; L9 w, p
[color=rgb(49, 124, 197) !important]46
1 O0 m- J; C6 R9 O! ~) ^' J
47

8 T- L- q' k' @& v& K
[color=rgb(49, 124, 197) !important]48
( d3 v0 U* V( B9 B+ w7 o
49

* Y( ]! I+ s+ w' c8 H% l: ~
[color=rgb(49, 124, 197) !important]50
$ V: o5 t  W) X6 l
51

! U0 J4 k3 b( Z$ M8 Q
[color=rgb(49, 124, 197) !important]52

$ j+ f/ [6 E& X) ?4 |$ M/ ^
53
8 c- A; t' n; G0 K1 v) a
[color=rgb(49, 124, 197) !important]54

+ A& @( _% j# K3 v3 P7 D5 d2 Y
55

! {+ T! C  a9 ?/ w% R4 z
[color=rgb(49, 124, 197) !important]56
7 I! V8 a/ ]0 K
57
. Q* w6 y+ ?3 s
[color=rgb(49, 124, 197) !important]58

8 Z8 e1 [; B; S8 j& R3 h
59
, T; b5 ^* C3 \! z) d. U
[color=rgb(49, 124, 197) !important]60

# d* I* ^$ u6 [8 X* d
61
) D! d( k% H1 F
[color=rgb(49, 124, 197) !important]62

+ K% J: g& v0 N! Z5 o) E
63
4 h: u, N5 w7 H
[color=rgb(49, 124, 197) !important]64
( M& A: t$ Q- C+ K3 ^- V
65

) I7 B  @% T' `) t
[color=rgb(49, 124, 197) !important]66
7 }4 T9 r4 ~; H* D9 x
67
4 J8 A5 R( E, q2 |/ W$ Y) p* C% ~
[color=rgb(49, 124, 197) !important]68
6 _! p; L( w" j2 c0 G  H3 l4 v
69
+ X5 ?5 H, v, N" I  W
[color=rgb(49, 124, 197) !important]70
$ Q; r$ b, ~1 a. ^* o+ h$ Y( y$ m
71
* z7 `7 ^+ s5 Z$ _$ E
[color=rgb(49, 124, 197) !important]72
, E& C( d$ [) O$ r
73
3 Z. j+ S; y: H7 v( C% `
[color=rgb(49, 124, 197) !important]74

5 o7 ^1 P  Q1 o! k5 ]
75
. t; w: P1 `/ f. M/ c0 ~0 S
[color=rgb(49, 124, 197) !important]76

1 w$ i/ X' L8 \; U4 O
77

/ g, O; X: T$ W. I
[color=rgb(49, 124, 197) !important]78
# m# p, y) w% D/ i
79
" q' G6 f+ N/ f/ |
[color=rgb(49, 124, 197) !important]80

: o$ S1 d8 [! b5 `% P) w* B' E
81

8 P  ^# A# l* D5 W
[color=rgb(49, 124, 197) !important]82
) F. m: s$ h: ^: ?* [9 o
83

0 M' S- O% x6 M3 t7 S# V
[color=rgb(49, 124, 197) !important]84

4 G9 a  Q  }' f2 _; d2 m, t% M5 d, M
85

7 Q- P; \) G4 k0 \
[color=rgb(49, 124, 197) !important]86
- Y9 T+ g3 a- V2 k2 r
87
6 P% r. d. O' v4 K! t  X" E* F* n
[color=rgb(49, 124, 197) !important]88

. @% B7 s2 K- E1 X5 X# z
89

2 Y3 y  v  ^( ], |- Y: L4 R3 g
[color=rgb(49, 124, 197) !important]90

- u# X0 L: E! A; `* f% ~3 V
91

& q5 r, ]1 P4 ~) X
[color=rgb(49, 124, 197) !important]92

* k6 s4 y& B. D& `1 ~7 L
93

6 h# g" G2 N, Y' m+ _, C
[color=rgb(49, 124, 197) !important]94

, d5 j+ s' v. w8 {" t2 x
95

( C2 o& M' I2 _) {
[color=rgb(49, 124, 197) !important]96
" c* k1 z5 e% X2 Q( ]3 c
97
, A& A  d1 t8 {5 Y2 ]
[color=rgb(49, 124, 197) !important]98
) N+ v# K/ {( A; ^  r
99

0 y: ^- K) S. L( J3 A( a
[color=rgb(49, 124, 197) !important]100

: g7 l: ^0 F3 X7 j$ _3 |: ?4 G
101
' m( w' D. M5 |4 w1 Q2 ?" Q" E& f
[color=rgb(49, 124, 197) !important]102

  ~9 R5 q# x( h8 A" l$ u
5 p6 T4 ?+ ^; R, O9 g" A
[color=rgb(128, 0, 128) !important]using[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]System[color=rgb(51, 51, 51) !important];1 B6 R( u7 a* H6 w& M
[color=rgb(128, 0, 128) !important]using[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]System[color=rgb(51, 51, 51) !important].[color=rgb(0, 45, 122) !important]Collections[color=rgb(51, 51, 51) !important].[color=rgb(0, 45, 122) !important]Generic[color=rgb(51, 51, 51) !important];1 \8 T1 |- N! z
[color=rgb(128, 0, 128) !important]using[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]System[color=rgb(51, 51, 51) !important].[color=rgb(0, 45, 122) !important]Runtime[color=rgb(51, 51, 51) !important].[color=rgb(0, 45, 122) !important]Serialization[color=rgb(51, 51, 51) !important];
, j+ G8 q2 M/ a9 l/ U[color=rgb(128, 0, 128) !important]using[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]System[color=rgb(51, 51, 51) !important].[color=rgb(0, 45, 122) !important]Threading[color=rgb(51, 51, 51) !important];
) ]8 u# E8 i" b2 N0 Y" J[color=rgb(128, 0, 128) !important]using[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]System[color=rgb(51, 51, 51) !important].[color=rgb(0, 45, 122) !important]Windows[color=rgb(51, 51, 51) !important].[color=rgb(0, 45, 122) !important]Media[color=rgb(51, 51, 51) !important];# B) b( T0 s2 I, M# m
7 ]6 T4 Z& _% i/ b: }$ F
[color=rgb(128, 0, 128) !important]namespace[color=rgb(0, 111, 224) !important] [color=rgb(0, 78, 208) !important]mysss! F: S6 u8 f: U; `
[color=rgb(51, 51, 51) !important]{& i% o- ^- L) J

& Z) U  Z) I/ z6 Q! T[color=rgb(0, 111, 224) !important]    [color=rgb(128, 0, 128) !important]public[color=rgb(0, 111, 224) !important] [color=rgb(128, 0, 128) !important]class[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]Class1[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]:[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]AndroidControlSDK[color=rgb(51, 51, 51) !important].[color=rgb(0, 45, 122) !important]AndroidScript[color=rgb(0, 111, 224) !important] [color=rgb(255, 128, 0) !important]//继承AndroidControlSDK.AndroidScript来实现插件功能7 l9 ^7 M! F# v- ^4 D/ [
[color=rgb(0, 111, 224) !important]    [color=rgb(51, 51, 51) !important]{, D% w% e: q5 d, ^  C) O" i
[color=rgb(0, 111, 224) !important]        [color=rgb(128, 0, 128) !important]public[color=rgb(0, 111, 224) !important] [color=rgb(128, 0, 128) !important]override[color=rgb(0, 111, 224) !important] [color=rgb(128, 0, 128) !important]string[color=rgb(0, 111, 224) !important] [color=rgb(0, 78, 208) !important]Name[color=rgb(51, 51, 51) !important]([color=rgb(51, 51, 51) !important])5 \+ Y! ^' @: m6 P" k4 {
[color=rgb(0, 111, 224) !important]        [color=rgb(51, 51, 51) !important]{
2 u- f) a: R' s; }3 I2 j; Q[color=rgb(0, 111, 224) !important]            [color=rgb(255, 128, 0) !important]//返回插件的名称
7 ~( \2 V5 j0 M. K) q6 k[color=rgb(0, 111, 224) !important]            [color=rgb(128, 0, 128) !important]return[color=rgb(0, 111, 224) !important] [color=rgb(0, 128, 0) !important]"自动给附近的人打招呼"[color=rgb(51, 51, 51) !important];8 p3 Z% L4 C+ P2 [8 ~
[color=rgb(0, 111, 224) !important]        [color=rgb(51, 51, 51) !important]}
4 S% A/ d) z5 l! G3 b5 N( D) x, L9 Y9 F, x  |
[color=rgb(0, 111, 224) !important]        [color=rgb(128, 0, 128) !important]public[color=rgb(0, 111, 224) !important] [color=rgb(128, 0, 128) !important]override[color=rgb(0, 111, 224) !important] [color=rgb(128, 0, 128) !important]string[color=rgb(0, 111, 224) !important] [color=rgb(0, 78, 208) !important]Description[color=rgb(51, 51, 51) !important]([color=rgb(51, 51, 51) !important])) T0 y) X2 f. m4 w; p# V
[color=rgb(0, 111, 224) !important]        [color=rgb(51, 51, 51) !important]{
# o* n+ ^, a5 ]& z# V5 g8 E[color=rgb(0, 111, 224) !important]            [color=rgb(255, 128, 0) !important]//返回插件的描述
# u+ I5 k2 @: I& n, A0 ~$ t: l[color=rgb(0, 111, 224) !important]            [color=rgb(128, 0, 128) !important]return[color=rgb(0, 111, 224) !important] [color=rgb(0, 128, 0) !important]"这是一个演示脚本"[color=rgb(51, 51, 51) !important];
( z8 H" f! t9 k: F2 S, M[color=rgb(0, 111, 224) !important]        [color=rgb(51, 51, 51) !important]}
* w, E; z8 C7 S: z7 v0 @) K- x. V
[color=rgb(0, 111, 224) !important]        [color=rgb(255, 128, 0) !important]//这个方法是插件的执行主体,所有功能都在这里执行% ]6 L6 z3 Q4 v9 _' e4 d6 _
[color=rgb(0, 111, 224) !important]        [color=rgb(128, 0, 128) !important]public[color=rgb(0, 111, 224) !important] [color=rgb(128, 0, 128) !important]override[color=rgb(0, 111, 224) !important] [color=rgb(128, 0, 128) !important]void[color=rgb(0, 111, 224) !important] [color=rgb(0, 78, 208) !important]RunScript[color=rgb(51, 51, 51) !important]([color=rgb(51, 51, 51) !important])* d( H4 }, F9 O# B1 `/ p9 \, a7 F3 c
[color=rgb(0, 111, 224) !important]        [color=rgb(51, 51, 51) !important]{) l" {5 q1 j) p& o
[color=rgb(0, 111, 224) !important]            [color=rgb(255, 128, 0) !important]//显示调试日志,正式用时可以不开启这个8 {) Z) Z* ~* |
[color=rgb(0, 111, 224) !important]            [color=rgb(0, 78, 208) !important]ShowLogConsole[color=rgb(51, 51, 51) !important]([color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];
+ D( D  N. R" ~8 U: i4 m
% a9 D+ }. h" {2 D+ b# o9 h* M[color=rgb(0, 111, 224) !important]            [color=rgb(255, 128, 0) !important]//在手机屏幕上显示运行状态
; z9 j, w/ @. }. N5 ?[color=rgb(0, 111, 224) !important]            [color=rgb(0, 78, 208) !important]ShowStatus[color=rgb(51, 51, 51) !important]([color=rgb(0, 128, 0) !important]"正在打开附近的人.."[color=rgb(51, 51, 51) !important],[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]Color[color=rgb(51, 51, 51) !important].[color=rgb(0, 78, 208) !important]FromRgb[color=rgb(51, 51, 51) !important]([color=rgb(206, 0, 0) !important]78[color=rgb(51, 51, 51) !important],[color=rgb(0, 111, 224) !important] [color=rgb(206, 0, 0) !important]17[color=rgb(51, 51, 51) !important],[color=rgb(0, 111, 224) !important] [color=rgb(206, 0, 0) !important]255[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];
6 T$ e" q+ \; X  a5 @, v) C6 ]) E5 C2 }) [' B; e
[color=rgb(0, 111, 224) !important]            [color=rgb(255, 128, 0) !important]//打开附近的人界面,这个具体参数请查看开发博客
$ Z3 }, w$ R; J3 u9 z. m+ c% Y) c[color=rgb(0, 111, 224) !important]            [color=rgb(128, 0, 128) !important]var[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]dic[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]=[color=rgb(0, 111, 224) !important] [color=rgb(128, 0, 128) !important]new[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]Dictionary[color=rgb(0, 111, 224) !important]<[color=rgb(128, 0, 128) !important]string[color=rgb(51, 51, 51) !important],[color=rgb(0, 111, 224) !important] [color=rgb(128, 0, 128) !important]string[color=rgb(0, 111, 224) !important]>[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]{[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]{[color=rgb(0, 111, 224) !important] [color=rgb(0, 128, 0) !important]"act"[color=rgb(51, 51, 51) !important],[color=rgb(0, 111, 224) !important] [color=rgb(0, 128, 0) !important]"opennearui"[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]}[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]}[color=rgb(51, 51, 51) !important];
( W' Q8 x6 s4 h! s[color=rgb(0, 111, 224) !important]            [color=rgb(0, 78, 208) !important]SendIntent[color=rgb(51, 51, 51) !important]([color=rgb(0, 45, 122) !important]dic[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];
" i4 r2 o" A5 Z, @8 v, e
: C  d  b; z; Y3 i9 U[color=rgb(0, 111, 224) !important]            [color=rgb(255, 128, 0) !important]//冷却1000毫秒( k# q4 j% Q1 E% p1 B8 c0 b: |
[color=rgb(0, 111, 224) !important]            [color=rgb(0, 45, 122) !important]Thread[color=rgb(51, 51, 51) !important].[color=rgb(0, 78, 208) !important]Sleep[color=rgb(51, 51, 51) !important]([color=rgb(206, 0, 0) !important]5000[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];* `' z; \  m/ [) o; B) D0 n

: H% t7 g; ~2 \: g2 O
; F: O) |1 `8 V' J[color=rgb(0, 111, 224) !important]            [color=rgb(255, 128, 0) !important]//定义个int变量用于计数3 J  t' v. C6 S$ A! b& p. W2 r
[color=rgb(0, 111, 224) !important]            [color=rgb(128, 0, 128) !important]var[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]count[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]=[color=rgb(0, 111, 224) !important] [color=rgb(206, 0, 0) !important]0[color=rgb(51, 51, 51) !important];
: _/ I+ V. A: ^. u2 n9 g3 ~
$ G) h6 X, p3 S& s8 ?  B& U[color=rgb(0, 111, 224) !important]            [color=rgb(255, 128, 0) !important]//定义一个变量为打招呼的内容
3 `6 d# C  P  z6 t- l- B% X( w[color=rgb(0, 111, 224) !important]            [color=rgb(128, 0, 128) !important]var[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]zhaohu[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]=[color=rgb(0, 111, 224) !important] [color=rgb(0, 128, 0) !important]"hi,你好啊"[color=rgb(51, 51, 51) !important];
$ B! }2 P: m$ w' q& [  |4 n
& x' W  o# C# _[color=rgb(0, 111, 224) !important]            [color=rgb(255, 128, 0) !important]//在手机屏幕上显示运行状态# M  @6 @% S& x. H- s" w, `
[color=rgb(0, 111, 224) !important]            [color=rgb(0, 78, 208) !important]ShowStatus[color=rgb(51, 51, 51) !important]([color=rgb(0, 128, 0) !important]"正在获取附近的人“列表”.."[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];, X, {3 Y1 @& L% A( B) A4 w
, C9 |, V/ [1 V# o
[color=rgb(0, 111, 224) !important]            [color=rgb(255, 128, 0) !important]//获取所有的昵称 com.tencent.mm:id/agg 这个是附近的人列表里的昵称资源id,这个可以通过android sdk里的 uiautomatorviewer.bat 这个工具来获取& _/ U; j( I. ]+ l, K. F. a" Z
[color=rgb(0, 111, 224) !important]            [color=rgb(128, 0, 128) !important]var[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]nicks[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]=[color=rgb(0, 111, 224) !important] [color=rgb(0, 78, 208) !important]GetUiTexts[color=rgb(51, 51, 51) !important]([color=rgb(0, 128, 0) !important]"com.tencent.mm:id/agg"[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];( a# W4 H% h9 u
* u# t; p. \0 v2 v
9 _( R4 H7 B( ~+ K/ P  p
[color=rgb(0, 111, 224) !important]            [color=rgb(0, 45, 122) !important]Console[color=rgb(51, 51, 51) !important].[color=rgb(0, 78, 208) !important]WriteLine[color=rgb(51, 51, 51) !important]([color=rgb(0, 128, 0) !important]"获取到的昵称数量:"[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]+[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]nicks[color=rgb(51, 51, 51) !important].[color=rgb(0, 45, 122) !important]Count[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];
6 z$ ]4 _- ]  H( ]' ^; N, A) `; R" ^- S5 c
[color=rgb(0, 111, 224) !important]            [color=rgb(255, 128, 0) !important]//循环给所有昵称打招呼
3 \: S" e$ x) A& G: ~[color=rgb(0, 111, 224) !important]            [color=rgb(128, 0, 128) !important]for[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]([color=rgb(128, 0, 128) !important]var[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]index[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]=[color=rgb(0, 111, 224) !important] [color=rgb(206, 0, 0) !important]0[color=rgb(51, 51, 51) !important];[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]index[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]<[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]nicks[color=rgb(51, 51, 51) !important].[color=rgb(0, 45, 122) !important]Count[color=rgb(51, 51, 51) !important];[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]index[color=rgb(0, 111, 224) !important]++[color=rgb(51, 51, 51) !important])1 i, v8 v* L  S& n0 y4 ~  N- J
[color=rgb(0, 111, 224) !important]            [color=rgb(51, 51, 51) !important]{$ c" \5 Z2 ~* c: D! h* Z
[color=rgb(0, 111, 224) !important]                [color=rgb(128, 0, 128) !important]var[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]nickname[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]=[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]nicks[color=rgb(51, 51, 51) !important][[color=rgb(0, 45, 122) !important]index[color=rgb(51, 51, 51) !important][color=rgb(51, 51, 51) !important];
" T: U4 @0 j7 H! L3 A3 d[color=rgb(0, 111, 224) !important]                [color=rgb(0, 78, 208) !important]ShowStatus[color=rgb(51, 51, 51) !important]([color=rgb(0, 128, 0) !important]"正在加“"[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]+[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]nickname[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]+[color=rgb(0, 111, 224) !important] [color=rgb(0, 128, 0) !important]"”[累计:"[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]+[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]count[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]+[color=rgb(0, 111, 224) !important] [color=rgb(0, 128, 0) !important]"].."[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];
' q; E  o1 c1 {) k3 z4 ]$ W[color=rgb(0, 111, 224) !important]                [color=rgb(255, 128, 0) !important]//查看是否包含这个昵称
& z* Z# N* [1 o  k& S+ A  D7 q' g5 r[color=rgb(0, 111, 224) !important]                [color=rgb(128, 0, 128) !important]if[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]([color=rgb(0, 78, 208) !important]FindObj[color=rgb(51, 51, 51) !important]([color=rgb(0, 45, 122) !important]nickname[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important].[color=rgb(0, 78, 208) !important]Contains[color=rgb(51, 51, 51) !important]([color=rgb(0, 128, 0) !important]"成功找到元素"[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important])
4 S' @" \- Z% }: P[color=rgb(0, 111, 224) !important]                [color=rgb(51, 51, 51) !important]{
  z! w% A* u, Z0 A[color=rgb(0, 111, 224) !important]                    [color=rgb(255, 128, 0) !important]//包含就点击它7 \2 x: Q# M- F4 k2 u- I
[color=rgb(0, 111, 224) !important]                    [color=rgb(128, 0, 128) !important]if[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]([color=rgb(0, 78, 208) !important]FindAndCLickObj[color=rgb(51, 51, 51) !important]([color=rgb(0, 45, 122) !important]nickname[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important].[color=rgb(0, 78, 208) !important]Contains[color=rgb(51, 51, 51) !important]([color=rgb(0, 128, 0) !important]"true"[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important])& j5 K8 |& e- O* a
[color=rgb(0, 111, 224) !important]                    [color=rgb(51, 51, 51) !important]{
. a9 c6 c/ ^) G0 Y1 X8 h( e[color=rgb(0, 111, 224) !important]                        [color=rgb(255, 128, 0) !important]//冷却1000毫秒) s8 ?# q3 W0 b3 g4 x
[color=rgb(0, 111, 224) !important]                        [color=rgb(0, 45, 122) !important]Thread[color=rgb(51, 51, 51) !important].[color=rgb(0, 78, 208) !important]Sleep[color=rgb(51, 51, 51) !important]([color=rgb(206, 0, 0) !important]1000[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];
( A: o- A, D. C# R! \[color=rgb(0, 111, 224) !important]                        [color=rgb(255, 128, 0) !important]//查找并点击“打招呼”
- m" K) {% W2 z- D6 ^7 ^2 s[color=rgb(0, 111, 224) !important]                        [color=rgb(128, 0, 128) !important]var[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]result[color=rgb(0, 111, 224) !important] [color=rgb(0, 111, 224) !important]=[color=rgb(0, 111, 224) !important] [color=rgb(0, 78, 208) !important]FindAndCLickObjByRegex[color=rgb(51, 51, 51) !important]([color=rgb(0, 128, 0) !important]"打招呼"[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];/ F# g* |2 Y+ j) J( |
[color=rgb(0, 111, 224) !important]                        [color=rgb(255, 128, 0) !important]//输出结果到日志
' j8 p4 I: B: j, p[color=rgb(0, 111, 224) !important]                        [color=rgb(0, 45, 122) !important]Console[color=rgb(51, 51, 51) !important].[color=rgb(0, 78, 208) !important]WriteLine[color=rgb(51, 51, 51) !important]([color=rgb(0, 45, 122) !important]result[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];" E" |/ N9 F1 C
[color=rgb(0, 111, 224) !important]                        [color=rgb(255, 128, 0) !important]//如果点击成功
5 O' `! i2 K) d! }3 b[color=rgb(0, 111, 224) !important]                        [color=rgb(128, 0, 128) !important]if[color=rgb(0, 111, 224) !important] [color=rgb(51, 51, 51) !important]([color=rgb(0, 45, 122) !important]result[color=rgb(51, 51, 51) !important].[color=rgb(0, 78, 208) !important]Contains[color=rgb(51, 51, 51) !important]([color=rgb(0, 128, 0) !important]"true"[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important])
' N. V  v6 V. \4 |9 ?, l; [[color=rgb(0, 111, 224) !important]                        [color=rgb(51, 51, 51) !important]{
4 Z: H3 H$ n" Y7 V. |[color=rgb(0, 111, 224) !important]                            [color=rgb(0, 45, 122) !important]Thread[color=rgb(51, 51, 51) !important].[color=rgb(0, 78, 208) !important]Sleep[color=rgb(51, 51, 51) !important]([color=rgb(206, 0, 0) !important]1000[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];0 e* Z5 P; ]: l/ L/ s
[color=rgb(0, 111, 224) !important]                            [color=rgb(255, 128, 0) !important]//查找输入框输入内容
) p4 Z" e8 _9 y( {[color=rgb(0, 111, 224) !important]                            [color=rgb(0, 78, 208) !important]FindAndInutText[color=rgb(51, 51, 51) !important]([color=rgb(0, 128, 0) !important]"android.widget.EditText"[color=rgb(51, 51, 51) !important],[color=rgb(0, 111, 224) !important] [color=rgb(0, 45, 122) !important]zhaohu[color=rgb(51, 51, 51) !important],[color=rgb(0, 111, 224) !important] [color=rgb(206, 0, 0) !important]0[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];
- J/ t3 ]4 e( h8 s[color=rgb(0, 111, 224) !important]                            [color=rgb(0, 45, 122) !important]Thread[color=rgb(51, 51, 51) !important].[color=rgb(0, 78, 208) !important]Sleep[color=rgb(51, 51, 51) !important]([color=rgb(206, 0, 0) !important]2000[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];3 e& _$ [7 ^8 x' W/ f! w1 X, S2 x$ Z
[color=rgb(0, 111, 224) !important]                            [color=rgb(255, 128, 0) !important]//添加好友
" m" S$ G5 @- L7 k! A[color=rgb(0, 111, 224) !important]                            [color=rgb(0, 78, 208) !important]FindAndCLickObjByRegex[color=rgb(51, 51, 51) !important]([color=rgb(0, 128, 0) !important]"(加为朋友|发送)"[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];
0 M4 o2 z. n; q/ V0 B2 _' U1 H[color=rgb(0, 111, 224) !important]                            [color=rgb(0, 45, 122) !important]Thread[color=rgb(51, 51, 51) !important].[color=rgb(0, 78, 208) !important]Sleep[color=rgb(51, 51, 51) !important]([color=rgb(206, 0, 0) !important]1000[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];% `9 o5 K* x+ G4 n" `+ l/ ]
[color=rgb(0, 111, 224) !important]                            [color=rgb(255, 128, 0) !important]//返回- \, T" G8 `# e/ G
[color=rgb(0, 111, 224) !important]                            [color=rgb(0, 78, 208) !important]FindAndCLickObj[color=rgb(51, 51, 51) !important]([color=rgb(0, 128, 0) !important]"返回"[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];
! A7 P( U( O- {3 D[color=rgb(0, 111, 224) !important]                            [color=rgb(0, 45, 122) !important]Thread[color=rgb(51, 51, 51) !important].[color=rgb(0, 78, 208) !important]Sleep[color=rgb(51, 51, 51) !important]([color=rgb(206, 0, 0) !important]1000[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];
& }, P! V0 N, w& `9 i! X[color=rgb(0, 111, 224) !important]                        [color=rgb(51, 51, 51) !important]}
; A& _: ~4 M) Y9 v1 @( _[color=rgb(0, 111, 224) !important]                        [color=rgb(128, 0, 128) !important]else
" ?( T* r; c5 ]* _# {[color=rgb(0, 111, 224) !important]                        [color=rgb(51, 51, 51) !important]{
% b$ M. s  Y9 Y. ^; {, b8 N[color=rgb(0, 111, 224) !important]                            [color=rgb(255, 128, 0) !important]//如果没有打招呼按钮则直接返回(一般是已经添加过了)
2 y5 d2 N6 R6 F! b: O% P[color=rgb(0, 111, 224) !important]                            [color=rgb(0, 78, 208) !important]FindAndCLickObj[color=rgb(51, 51, 51) !important]([color=rgb(0, 128, 0) !important]"返回"[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];
7 p. I- w4 Q( Y4 ?, a[color=rgb(0, 111, 224) !important]                        [color=rgb(51, 51, 51) !important]}
- p4 R( j$ U8 n$ B. J[color=rgb(0, 111, 224) !important]                    [color=rgb(51, 51, 51) !important]}7 q3 l. M& Z& o- O& ]8 q% s- H" P
[color=rgb(0, 111, 224) !important]                [color=rgb(51, 51, 51) !important]}
2 B7 E8 x* m" Q$ y' V/ G8 K[color=rgb(0, 111, 224) !important]                [color=rgb(255, 128, 0) !important]//计数器加1
8 {: W) T: ^$ w1 D5 ]$ S[color=rgb(0, 111, 224) !important]                [color=rgb(0, 45, 122) !important]count[color=rgb(0, 111, 224) !important]++[color=rgb(51, 51, 51) !important];0 n: H& O, Z+ d3 J0 Z
' ^' Y' M  C" h# W( @
[color=rgb(0, 111, 224) !important]            [color=rgb(51, 51, 51) !important]}
( q& q% k' [+ z2 B% m$ h0 _8 [5 s+ X  c9 f$ K
[color=rgb(0, 111, 224) !important]        [color=rgb(51, 51, 51) !important]}
7 K& t4 ?  ]' Q' z( R, \8 b
* [/ E. p! ]+ C% [[color=rgb(0, 111, 224) !important]    [color=rgb(51, 51, 51) !important]}
$ H7 I: g+ }$ A[color=rgb(51, 51, 51) !important]}
% j/ B! T/ L+ S" f" B$ B3 B4 M7 ^' x( Q, |. p" }5 I

0 l/ Z5 h' }  ?- k- o5 D
6 W: y9 w+ Q/ C6 R0 F
以上代码就是一个完整的插件方法,同一个dll里可以做多个这样的插件,最后生成插件
, D' ]# R, f4 ^$ m' @+ X/ ^

8 R% d! m, Q4 V. l8 \) w+ X6 O
' }9 [' N4 m; W& B8 ^' W. U! N9 }% I8 x- f3 q3 s; v! q

0 q$ p' m/ |- h. j
然后就可以运行它了,勾上群控后,也可以象其他脚本一样,对所有手机生效
% u! ?, ^* o& q$ z$ N
 楼主| 发表于 2018-5-30 11:25:31 | 显示全部楼层
daxia 2016-09-30 19:138 w3 _0 M9 D0 m0 H
能通过自定义控件实现清理僵尸粉,和统计每日新增好友数功能吗?5 F3 S  G9 @7 A5 y' K' e
- t6 w, K- ^+ {0 E* o# w- N* Q6 N
回复" \* h! u8 \0 m1 D3 R  Q

/ S0 x" z% d; X, [- a- U* jxiaoxia 官方 2016-10-14 11:39
4 d& F8 t1 s' ]# A: k  o+ C可以
7 O# O2 s- m8 H, {6 X; i3 U, E1 F7 ^7 j2 C
回复8 }8 G! _% `& y

* [! o' L* A8 u杨晓 2017-05-19 16:47  M. D- e$ F: @0 a* c2 B9 p
自定义控件实现清理僵尸粉,统计每日新增好友,怎么做的,老师赐教
5 n0 f) T3 @+ X. [/ a0 J8 f3 @1 y& ~* M$ _* p% F/ X8 h
回复/ x2 }. Q0 l% L7 Q
# Z# A8 L$ S/ e6 A
xiaoxia 官方 2016-10-14 14:306 a: t$ M! r- h
:neutral:  :mrgreen: 测试一下, ?( E  N! l6 q; j
, e: y: e  q# w" I2 q. H$ ~) z+ R" J
回复
4 }9 u, o2 s  a# ]  K! b" P9 x' K7 Z9 S, H& b7 B! S$ L# F' g
wizard 2016-12-21 20:41
: q2 H# x: z& B  a微信6.3.32,执行SendIntent(dic);方法时,微信重启,怎么解决?" V2 c4 g4 R- u# C

( q- c  g* u# w回复
4 P' l2 u$ M2 c8 h& d9 e. [- b* o! P6 W  d) C
xiaoxia 官方 2016-12-23 19:02
9 G" I8 P. L* e5 T那是因为之前不支持32版,现在已经支持了( S. M, ^, M( o6 u- u4 `
2 ~2 j' F. u5 N* g3 p* U& D; ^
回复
' q9 o- m- ^7 V! C# U# T
& |: r7 o  o5 l6 j超成 2017-03-01 16:25
/ z: q! h$ x: n8 U, q$ e/ y什么时候插件的接口可以支持打开微信扫码功能,并支持传输扫码要识别的(二维码)图片,以便做一个更强大的自动添加群的插件。. \# r' l8 W5 b, I3 T9 t
( c. i$ m8 b, e4 ^
回复
  h: x+ h0 [8 u
+ P5 |/ f# w; B) a1 T. U' kyouku 2017-03-07 16:010 D5 |& {/ |2 V- x
最新版本的软件,刚下载的这个压缩包的文件要拷到哪个目录下面呢?
4 F7 S. G0 Y* R9 b: A3 V. I
# ?' J# B/ ?5 e7 G: g回复8 \/ M- C0 Y3 z" T7 c
, j& ]/ x8 n$ W" ]/ N
sdsm 2017-03-30 12:46
: p+ H) P; J- v: m3 }" lvar nicks = GetUiTexts(“com.tencent.mm:id/agg”);. W+ v! a) N, K7 R" X& B0 d( V7 Y" I
获取不到数据,怎么破?+ g( C% N2 g2 y; e" w
+ l! J4 F4 Y. {( N2 Y" Z
回复! s/ u2 x4 n1 K8 ]7 ?. z& l
  ?5 J: k$ y# j
xpp 2017-07-07 11:10
8 `2 y$ p7 D3 x8 F你解决没
# V6 S9 [! W" r. T1 k6 Z  V
' g$ m- K! N- \6 w6 v0 S回复" U( u5 I3 m# A; Z0 Z: v
0 w. m6 P( ^/ F( E# A% `& B
涛涛 2017-07-10 18:16+ J7 A5 h$ w8 I  Y, v
我也遇到了,不知你的原因是什么,我的原因是因为页面是动态页面,C#不适合做动态页面元素获取,应该有解决办法,不过我还没找到!
7 K6 H! F: R1 Y; j' f2 V
% ^- T* d+ P$ f9 ?* U& W回复
8 [0 ~1 X2 _8 x, H
& e  @0 Q% ~9 \  O7 f- r1 F1 thuang 2017-05-09 10:06( a% \( s5 T  |6 o
插件怎么不显示在插件列表里面?
7 g. Q8 C( F7 N$ S' g$ u
) f" ]. k! H# o. Y回复
* I! ~: b6 S2 i1 S) I8 ?
1 x# Q7 a! x7 I7 c( ]1 Y. e( f涛涛 2017-07-10 18:15
/ u  X$ {% m8 h: J/ }) Y% p要点刷新,在自定义插件里啊
1 ^1 ~, `# d  B# C. D& D3 I2 V7 v. t6 }7 \/ }6 p
回复
% _# h9 Y5 C8 s0 ?: G* K- K8 I
2 o; J- [9 R( Z; ]! T涛涛 2017-07-10 18:14
1 X( p: j7 j% ?$ t0 R2 J$ x比如我想打开YY,那么SendIntent(dic);中有一个KEY值和VALUE值,这两个值如何获取呢!
  [; r  }. t7 j4 x$ i. c有没有开发微信的一些源码借签呢,案例中的这个都是最简单的!没有打开程序内隐藏的值的方法! :mrgreen:
: H3 s' z& V- M. L4 h0 U/ L; D3 z6 t9 S( ^7 h1 x
回复
) e& b, q% \1 G% N/ \1 f0 C' c& }7 T" ]# Q
xiaoxia 官方 2017-09-27 10:46# ]) E1 u4 v) w  v- ]
用RunAdb实现
" H* T/ I5 D, X0 ^
% \* M* @! v6 a8 V回复
; [# f  R, g; O' T7 w, d2 W8 c0 S% \: G* h2 z0 }4 p
jasca 2017-07-22 00:27) U- {% D) {  D, R$ Y* M$ Q) _
怎么获取手机截图?$ K" ~1 [/ M5 h! q( K& n  O9 w5 d* Z

: q/ n( J7 B8 |- z' R& Q& ~  Y回复& B, ]9 M3 [, |
& R) {* ?, L1 R" k, V$ v- _
tangwei 2017-08-11 13:31
" S) }% h$ o" d+ t( |+ m我编译了您demo中的dll,按照您官网介绍的方法放到了软件的“自定义插件”目录下,但是软件并不加载此插件,请问是什么问题?http://www.xiake.net/blog/archives/1
发表于 2018-6-11 23:05:34 | 显示全部楼层
啊手动阀手动阀手动阀
发表于 2018-9-4 19:35:04 | 显示全部楼层
好东西,谢谢分享!!!!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

技术交流售后群

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



GMT+8, 2025-5-2 21:13 , Processed in 0.172108 second(s), 27 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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