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

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

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

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

$ L! e! f  Q! n
3
5 |% u( B; V$ `. p; B
[color=rgb(49, 124, 197) !important]4
3 ^; o4 b2 o. E, W, _
5
8 Y& s  `/ x' M$ n6 k
[color=rgb(49, 124, 197) !important]6
: O4 y% ?/ e) x" G* Y
7
, A" n& T. Q$ ]" Z
[color=rgb(49, 124, 197) !important]8
) t+ g# O8 x" Y/ G
9

' a2 }( {0 w# I
[color=rgb(49, 124, 197) !important]10

2 X) s, q% j: ?8 r9 c% H- Y
11
2 B1 N5 I3 a5 m% @
[color=rgb(49, 124, 197) !important]12
* g" C1 L0 ~) A! z4 S6 M
13

! U# E2 n$ ~; q  H5 `5 k
[color=rgb(49, 124, 197) !important]14
/ I5 ~2 O% X; p) O! x# j# u2 w# r
15

; q6 k1 R% q6 _# m' k
[color=rgb(49, 124, 197) !important]16
, T8 Y6 Q1 l9 y7 e& U
17
+ F" s- O5 X1 `* d5 E$ |* a
[color=rgb(49, 124, 197) !important]18
) n; Z% V. V: P' ~5 _& ^
19

( N& t  i7 g3 [) F9 y8 V, x; p
[color=rgb(49, 124, 197) !important]20
8 N8 J! {  {8 f
21

2 [8 z! D7 u; ~( T8 j2 j
[color=rgb(49, 124, 197) !important]22
4 H$ {2 x5 `4 |. s6 M4 m0 w+ M
23
7 V: X3 P# b) n  Q7 g
[color=rgb(49, 124, 197) !important]24
+ s+ G5 H% y& I5 D6 G
25

$ k5 r) U3 G* S: h0 B
[color=rgb(49, 124, 197) !important]26

" o9 `& `, P" |3 R
27
' @  F; R. I' K' w
[color=rgb(49, 124, 197) !important]28

; L4 \3 g" D+ W/ A) M5 @/ g
29
# D9 K/ h7 J! M) _. a! V. [
[color=rgb(49, 124, 197) !important]30

+ {9 k( T  s0 w1 J' F2 ^7 A
31
3 Q; c' B- d/ L1 O8 ]
[color=rgb(49, 124, 197) !important]32

5 N. G! M/ ~# C) D$ s
33

& i3 @3 l! L8 r- \' v' @5 A0 a
[color=rgb(49, 124, 197) !important]34
# s4 W. o) h2 L  X
35
2 m% H( R& ^7 M2 [" H/ c
[color=rgb(49, 124, 197) !important]36
: p& F. F# q: n, ~7 n: m5 f
37
; l% k7 n9 m: S, C* ^
[color=rgb(49, 124, 197) !important]38
7 g3 I+ ~* c$ P( B: e# j
39

0 J! t" E9 F, G* g; D8 h
[color=rgb(49, 124, 197) !important]40
0 `+ K% N# |+ I# q
41

& o4 P" @" m. p  D
[color=rgb(49, 124, 197) !important]42

# U/ R) [) X: S- i
43
9 h6 _' P! d8 O$ s& S7 W
[color=rgb(49, 124, 197) !important]44
7 i& m. B) M% ]1 J3 U
45
+ A6 X/ T7 q6 K/ Q9 J: d8 `
[color=rgb(49, 124, 197) !important]46
( H7 z( e% d: j; P4 g: U0 y
47

8 S) @9 j/ E$ \  a" S+ B
[color=rgb(49, 124, 197) !important]48

4 V, e7 N5 h. D; T
49
) F+ r. G  v$ T- N- [: t* B
[color=rgb(49, 124, 197) !important]50

  q( Z( F2 N8 U/ ^9 O
51

  N' X, g1 I/ u4 Q7 L2 ?( x$ i" O
[color=rgb(49, 124, 197) !important]52

$ c9 k- R/ X4 c% B: ]
53

  d) P& @" D0 M# {) V- W1 A% ~
[color=rgb(49, 124, 197) !important]54
9 v: v* u* h: K+ J. q3 Y8 i( @/ h
55
) I' T' i9 w5 C9 n
[color=rgb(49, 124, 197) !important]56
. c! r& _9 z; N# ?) a+ s) c
57

/ b: r" c. }" O& j. K* b0 g
[color=rgb(49, 124, 197) !important]58
1 `" J* y; j) m2 X
59

; j  B! ]: F: ~: m/ I. [" |; \
[color=rgb(49, 124, 197) !important]60
. J7 `5 z; K; I2 g
61
1 ^. o$ h5 K- G' E- t" Y
[color=rgb(49, 124, 197) !important]62
$ R/ ]( }8 L9 e/ m* j" F8 s
63
; }" Q5 U7 e1 j$ B5 G( b1 t
[color=rgb(49, 124, 197) !important]64

9 S) U" B8 Q" s5 D/ O
65
& l) a( d# c  b2 i: x+ D
[color=rgb(49, 124, 197) !important]66
$ s# E. T3 ]3 u1 R% `9 N1 R
67
( B# [( a, }1 T1 N9 l- z0 k
[color=rgb(49, 124, 197) !important]68

4 F# `1 F; X. W- z# [
69

: \) R2 g7 z  K% P3 m8 }2 t
[color=rgb(49, 124, 197) !important]70
  b: b* b( P, \+ v- f. f: {0 z
71

  ]; \; v; l! q+ `+ x( r2 ~& }
[color=rgb(49, 124, 197) !important]72

. O$ A  _! f% L  ?$ B
73

& A4 c/ \; o4 k- o0 t4 a
[color=rgb(49, 124, 197) !important]74

$ n3 K+ T- L6 n2 A( e
75

- v7 O' ]( l6 O# ^  h
[color=rgb(49, 124, 197) !important]76
/ y2 Z- x( v6 t! l! ^8 P
77
' F& Y/ C  W& |9 m) K, O. |
[color=rgb(49, 124, 197) !important]78
" ~! A) }" T$ b# y& j1 d/ [
79
8 d2 p" _' w3 X) }
[color=rgb(49, 124, 197) !important]80

2 T% e" M3 j3 I9 U" l
81

$ d3 x4 E" K- v% d
[color=rgb(49, 124, 197) !important]82

" F1 r4 g0 N! x! _
83

, o* N' ^$ [) _( V* D, d2 `5 |8 N
[color=rgb(49, 124, 197) !important]84
: x  z1 a# n/ h
85

! ^$ F6 K7 {/ _4 |7 O! U$ e( R  g
[color=rgb(49, 124, 197) !important]86

9 N3 j% f# H4 p2 |* |
87

) Y7 O. ^0 m, A
[color=rgb(49, 124, 197) !important]88
9 {0 K: J; h5 _
89
' }3 a3 a$ Y# o1 z- E* u# N1 \
[color=rgb(49, 124, 197) !important]90
; P' P* v/ x+ K7 `9 c1 u6 D, W
91

8 Z; X" P, S- I  Q' b: F8 K2 A
[color=rgb(49, 124, 197) !important]92
# \4 P4 ?! z- U2 O5 _
93

  v8 i2 o1 E8 b
[color=rgb(49, 124, 197) !important]94
- E- x% \% i7 s8 n- n/ U7 N
95
8 K6 Y- v  g* E9 p  ~
[color=rgb(49, 124, 197) !important]96

. ^( u9 T( P' u
97
5 n, ^5 v) M# V# N0 W
[color=rgb(49, 124, 197) !important]98

5 n7 k0 V2 {3 `! j5 u. x; S0 w# l
99
3 ?+ _5 o% I$ J
[color=rgb(49, 124, 197) !important]100
% n  G/ B! a/ R
101
5 ]8 p  j5 R2 P" z; E
[color=rgb(49, 124, 197) !important]102
! m$ H0 B% f; X

: t' @1 A- P3 a4 F: w' @2 w: q& e
[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];
* k4 c# U9 H4 J; _0 ?2 k2 `[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];+ {$ @* u  l0 ^. G; x1 y' `
[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];
8 x7 M3 e5 c4 E7 U! `8 Q+ 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].[color=rgb(0, 45, 122) !important]Threading[color=rgb(51, 51, 51) !important];
: c+ w2 X% f' o' p[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];( ]1 h1 n  Q" S" l4 ?/ M7 o2 [+ G
1 I: z; w  o! ]2 _
[color=rgb(128, 0, 128) !important]namespace[color=rgb(0, 111, 224) !important] [color=rgb(0, 78, 208) !important]mysss/ i& x2 c/ Z0 r7 \1 h
[color=rgb(51, 51, 51) !important]{
. R9 C6 L7 D1 `8 L4 ~5 s
' M$ r2 a6 X- p[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来实现插件功能9 [' A6 N$ M- s# G6 D% h4 f6 t
[color=rgb(0, 111, 224) !important]    [color=rgb(51, 51, 51) !important]{: b: `1 W+ f- j6 p
[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])
, Y8 a; R. j0 N% a: l8 s& ~. a8 S[color=rgb(0, 111, 224) !important]        [color=rgb(51, 51, 51) !important]{
; E7 ]6 ^; L5 o; q# M' U[color=rgb(0, 111, 224) !important]            [color=rgb(255, 128, 0) !important]//返回插件的名称
% o2 R! {# ]! D, L. H) A% F0 ^[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];
( K+ a) f& x' s5 E, n9 I" z[color=rgb(0, 111, 224) !important]        [color=rgb(51, 51, 51) !important]}
1 m: \' L1 s- Q% }, j! i1 N" g$ G+ F$ k9 D5 c- V
[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]): m3 }% _4 T" A4 E7 g) I1 V
[color=rgb(0, 111, 224) !important]        [color=rgb(51, 51, 51) !important]{9 q5 r7 r& i5 ]8 k$ T* `* s
[color=rgb(0, 111, 224) !important]            [color=rgb(255, 128, 0) !important]//返回插件的描述  A% [# F8 B( }( ?4 L6 m
[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];9 F7 H6 U9 M$ @0 I6 j1 f8 z
[color=rgb(0, 111, 224) !important]        [color=rgb(51, 51, 51) !important]}
3 ^+ n1 w- ?0 I, F7 Y. i
: U, X- E( t5 H2 h3 X[color=rgb(0, 111, 224) !important]        [color=rgb(255, 128, 0) !important]//这个方法是插件的执行主体,所有功能都在这里执行( r) D3 S: c  R5 G& L4 u
[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])
4 I2 |7 f; V% W$ E( E7 n! q' Z, W( y[color=rgb(0, 111, 224) !important]        [color=rgb(51, 51, 51) !important]{
( l3 b0 O$ b3 j; q[color=rgb(0, 111, 224) !important]            [color=rgb(255, 128, 0) !important]//显示调试日志,正式用时可以不开启这个- @3 y9 J! l1 M! N% {$ S
[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];" V0 C% i1 ^( D1 F) I+ g
8 P6 o' U" o  c! y# H2 Z( w
[color=rgb(0, 111, 224) !important]            [color=rgb(255, 128, 0) !important]//在手机屏幕上显示运行状态
+ I" M8 D, e( F5 }[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];
! d) T/ E) u7 ~8 [' c
2 ]: v" G& U- z0 r[color=rgb(0, 111, 224) !important]            [color=rgb(255, 128, 0) !important]//打开附近的人界面,这个具体参数请查看开发博客2 \7 Q% _$ F9 X! z9 V
[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];
8 o: [) z) L$ E; {[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];
" T  V0 M; L1 b, O6 Q# v! q9 i8 b/ N; I% U
[color=rgb(0, 111, 224) !important]            [color=rgb(255, 128, 0) !important]//冷却1000毫秒
. d" [- d+ K4 l  y' b' N) E[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];
% \6 X) v; k+ E. i& U8 V4 A7 D0 \6 {5 d. y: A- Z, @! b% ]. I
- g1 Y( G; `" ^7 [/ o! T
[color=rgb(0, 111, 224) !important]            [color=rgb(255, 128, 0) !important]//定义个int变量用于计数" n) j# A, z! b
[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];$ R( H: b$ [7 d. Q4 x1 {! a1 v

4 V5 r1 s. |6 h; G) S[color=rgb(0, 111, 224) !important]            [color=rgb(255, 128, 0) !important]//定义一个变量为打招呼的内容  O5 e) z" B! j' s! }( F
[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];5 D; S$ M8 y3 @8 @- U, u; @

$ d: A; I3 W5 l: K( o, G, \! f2 b[color=rgb(0, 111, 224) !important]            [color=rgb(255, 128, 0) !important]//在手机屏幕上显示运行状态8 H8 Z: }$ \6 b' 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];
. S+ U% a7 N' \" Q: S- E8 W; j# I: K) u: J9 Z0 c& i3 W" r
[color=rgb(0, 111, 224) !important]            [color=rgb(255, 128, 0) !important]//获取所有的昵称 com.tencent.mm:id/agg 这个是附近的人列表里的昵称资源id,这个可以通过android sdk里的 uiautomatorviewer.bat 这个工具来获取7 b  Q5 _% ]. G3 L# N
[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];7 E  o/ N6 w9 D& \& P
- u4 ~3 ?  e2 u' V! D$ c& P1 l" O2 k0 e
& e+ D# x9 ~( Y8 {8 w
[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];% R! b( A) }' |+ j; ?& g! I3 Y: G, g/ o

& e$ ]# B8 _( z  a9 _: z1 P[color=rgb(0, 111, 224) !important]            [color=rgb(255, 128, 0) !important]//循环给所有昵称打招呼
# G0 T, p: Z: G/ b- M# y* w! O[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])
/ j( b' ?/ z' G1 {[color=rgb(0, 111, 224) !important]            [color=rgb(51, 51, 51) !important]{1 ~0 _  v" L( ~" b
[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];
" C2 G! i2 w, S) g( @% D2 o[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];+ f0 n8 l2 o" l6 _4 N
[color=rgb(0, 111, 224) !important]                [color=rgb(255, 128, 0) !important]//查看是否包含这个昵称
. n& d2 ~  g0 T$ M" B  S! S( J% s[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])7 K1 D) t% L3 F2 o0 U; Z* k7 _
[color=rgb(0, 111, 224) !important]                [color=rgb(51, 51, 51) !important]{! z+ {  u5 J$ A# A
[color=rgb(0, 111, 224) !important]                    [color=rgb(255, 128, 0) !important]//包含就点击它' n1 }8 l1 t& h% T' O
[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])# a; b  Z; d( A% X
[color=rgb(0, 111, 224) !important]                    [color=rgb(51, 51, 51) !important]{- Y" ~- C+ T8 ?% C7 }! X3 x7 p4 R
[color=rgb(0, 111, 224) !important]                        [color=rgb(255, 128, 0) !important]//冷却1000毫秒
  p5 I( k& u1 C% B7 [. \" g8 i* N' 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];
; `: O1 b0 C* Y5 q+ w/ ][color=rgb(0, 111, 224) !important]                        [color=rgb(255, 128, 0) !important]//查找并点击“打招呼”
/ D) ]  P- E" [2 n[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];
% o! V; B+ `8 R+ k' ?[color=rgb(0, 111, 224) !important]                        [color=rgb(255, 128, 0) !important]//输出结果到日志
$ A& ?; _" X& G( h[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];
" D; p: u, h& D9 F8 S( B# o[color=rgb(0, 111, 224) !important]                        [color=rgb(255, 128, 0) !important]//如果点击成功( ?' i# b/ V1 o3 f1 L/ t7 w2 c
[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])- k! y! V3 G& X1 z7 l& H
[color=rgb(0, 111, 224) !important]                        [color=rgb(51, 51, 51) !important]{/ B; b# {" X" q; b% w; O7 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]1000[color=rgb(51, 51, 51) !important])[color=rgb(51, 51, 51) !important];$ x: g' E( N+ P3 A+ G/ l2 d
[color=rgb(0, 111, 224) !important]                            [color=rgb(255, 128, 0) !important]//查找输入框输入内容
) L# A; ]  H1 N/ t5 m[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];
5 i* f/ P# }1 [; B- L7 M: ][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];
- r0 k; f: t6 [/ S4 [[color=rgb(0, 111, 224) !important]                            [color=rgb(255, 128, 0) !important]//添加好友' P' w* Z0 Y) g2 X+ _0 `4 Y
[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];. W# O4 \. a* }1 `7 u, g
[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];
. s/ Q6 p, d& T+ S) [[color=rgb(0, 111, 224) !important]                            [color=rgb(255, 128, 0) !important]//返回& i4 Z7 F! M8 ]
[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];% Z- @4 _/ G$ C' a! f
[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];
8 N- O" O; Z. o' ^% L" T[color=rgb(0, 111, 224) !important]                        [color=rgb(51, 51, 51) !important]}' s# A& \7 C, S4 t9 t
[color=rgb(0, 111, 224) !important]                        [color=rgb(128, 0, 128) !important]else2 S- o# b& w( S- O) ~
[color=rgb(0, 111, 224) !important]                        [color=rgb(51, 51, 51) !important]{. A) @+ ^+ R$ a& ^; N
[color=rgb(0, 111, 224) !important]                            [color=rgb(255, 128, 0) !important]//如果没有打招呼按钮则直接返回(一般是已经添加过了)
+ x. V* c" u* }+ n5 G. d# A[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];5 |& U4 t4 n+ o
[color=rgb(0, 111, 224) !important]                        [color=rgb(51, 51, 51) !important]}  S7 L7 N# F& \7 u# ^( |# r& i
[color=rgb(0, 111, 224) !important]                    [color=rgb(51, 51, 51) !important]}
, e$ a+ y$ f& b! ~3 p& p[color=rgb(0, 111, 224) !important]                [color=rgb(51, 51, 51) !important]}
+ o8 _: `  W1 H, h+ ^8 I[color=rgb(0, 111, 224) !important]                [color=rgb(255, 128, 0) !important]//计数器加14 y1 h* W; e9 ]4 C
[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];1 h. r' X6 P& [2 L9 `

0 W; v9 R& F  d[color=rgb(0, 111, 224) !important]            [color=rgb(51, 51, 51) !important]}) k$ F5 O. s* b, e" e9 G" i

: ~) a3 i" o5 K7 u[color=rgb(0, 111, 224) !important]        [color=rgb(51, 51, 51) !important]}) A. \4 u8 p: x

3 B4 c9 z0 L  }  F[color=rgb(0, 111, 224) !important]    [color=rgb(51, 51, 51) !important]}
0 r1 s) k2 z1 S  W& q6 [$ @[color=rgb(51, 51, 51) !important]}
* W. w& l; x8 U" l* V7 M$ l9 b7 A. m- F9 a* k
: k) C6 U+ O2 [5 B* k0 r" @! E9 A
4 r* t* C' _( j0 b! C8 D- c
以上代码就是一个完整的插件方法,同一个dll里可以做多个这样的插件,最后生成插件

% G, e- s& c- Q$ a: I/ O( X: ^: i
6 f% s6 T5 G( s  i/ _0 [

- Z" N% f$ s) f, ^; ]) N6 T# Y9 a9 r$ O; z. `4 h
然后就可以运行它了,勾上群控后,也可以象其他脚本一样,对所有手机生效
9 i8 R3 z- y4 g  R) C! u' W
 楼主| 发表于 2018-5-30 11:25:31 | 显示全部楼层
daxia 2016-09-30 19:13
: {( }  @# O0 g能通过自定义控件实现清理僵尸粉,和统计每日新增好友数功能吗?, I& S* z, o3 G
1 U9 Z  P4 x. s8 X: ?  p5 y
回复
% {3 K  @$ q9 o8 M% s
9 q. R1 ?2 Y% V- Z- m3 axiaoxia 官方 2016-10-14 11:39
& L8 n1 n8 S/ f3 o$ K可以
* u) N, g# s/ G: Y) {* z5 M) i# g  p: _( M/ r
回复& j4 S- W/ Y1 K& q; @. Z1 i
* _4 {0 V8 v: X9 T
杨晓 2017-05-19 16:475 ~! z! u9 X3 \+ ]* P3 R
自定义控件实现清理僵尸粉,统计每日新增好友,怎么做的,老师赐教
: c/ j1 Q/ z& B; A" z- r8 ^% F, C9 `+ Z6 o; a( E: b$ g- M
回复
- P8 N5 T' g9 t; W5 ]$ _/ G$ t% N) q
xiaoxia 官方 2016-10-14 14:30$ Y, I- F5 e2 x' L- o! g- }
:neutral:  :mrgreen: 测试一下+ b) K, c- G" v% Y* d

1 u2 u" G! u+ E9 e8 L回复+ S. s% Y# ^- [+ \: p0 a
- w% l7 D! U" B  [% w
wizard 2016-12-21 20:41
: h: R3 \% M& _微信6.3.32,执行SendIntent(dic);方法时,微信重启,怎么解决?3 q) W; O7 r- ?5 K! ~
: J/ d) e1 |6 y
回复& D5 C! |: I6 z9 y  B
7 q& J( Y5 L% t1 H2 G8 {
xiaoxia 官方 2016-12-23 19:020 G3 z) V* ^( k$ r, Z( i5 w: @- e
那是因为之前不支持32版,现在已经支持了
" g# ^7 {% x; L: _2 {- t; w8 _( A& f) [! J+ J; Q2 H2 g
回复
. \0 B7 U  S$ C4 H: J
; f3 V# ]) i9 [* B超成 2017-03-01 16:25) X# n9 l5 P- |% I
什么时候插件的接口可以支持打开微信扫码功能,并支持传输扫码要识别的(二维码)图片,以便做一个更强大的自动添加群的插件。+ d5 r" ^& S9 X

# }+ V* Z" G+ H4 X2 y" O0 t3 o回复$ ^# L, {' R$ ?

4 S% v! J4 v* F" [' ]' ayouku 2017-03-07 16:011 j) q5 ^2 A3 ?! j1 h4 S
最新版本的软件,刚下载的这个压缩包的文件要拷到哪个目录下面呢?' b  m* S2 Y4 B2 {/ W. ^$ p& w/ x

3 i3 s: ~: @7 v* y$ B回复
1 Y) p3 A2 g$ N
3 R, B- M+ K4 Z* R; r$ lsdsm 2017-03-30 12:463 a; X$ l6 p$ P, D4 r
var nicks = GetUiTexts(“com.tencent.mm:id/agg”);+ v7 D' O$ O+ Z6 o' r
获取不到数据,怎么破?7 Q- z5 E  |4 t( k" i
3 o: b, ~  ^- P( o0 V2 D: B( B3 g
回复
' Z' f5 g# y6 i( K$ D$ W
9 G0 y* v. [/ expp 2017-07-07 11:10
& Z7 F% n9 A5 c, z3 N- \你解决没  D" l' \& S( Q4 V" _

, W! T8 x( g& C' y* s8 h: O& X回复
0 J& x$ l6 \( E$ I2 Z( z  [6 S( ^* N- B0 L/ r% B
涛涛 2017-07-10 18:16
6 d: k8 T; `* O3 j+ p+ m& s我也遇到了,不知你的原因是什么,我的原因是因为页面是动态页面,C#不适合做动态页面元素获取,应该有解决办法,不过我还没找到!/ S+ z" }( ~( y

0 n2 X8 P8 E: G回复' j) p* f: U' ], z  J+ v. Q

( q! J' {  d: ?$ o; g+ Y: P1 Ahuang 2017-05-09 10:06  k" }7 e5 v* {! A! D+ f
插件怎么不显示在插件列表里面?
, z( a0 |; {  @" j0 [$ t$ x+ e  r/ W7 [6 S) v2 h& Z7 d% ~+ N
回复
, q  G) }5 `( P7 P( X& r& j* C- J
* F& K' k- i: X6 |0 c涛涛 2017-07-10 18:15
: T8 }9 H+ Z9 x& y6 G! `要点刷新,在自定义插件里啊# I4 ]. a; a% J) E+ U

0 n1 \& d, q/ z  X回复! z% t" A; {/ A2 E

0 A) f0 |* L$ k" t  q/ {8 {涛涛 2017-07-10 18:142 u  j% `2 d; t+ }/ M. M/ b* w
比如我想打开YY,那么SendIntent(dic);中有一个KEY值和VALUE值,这两个值如何获取呢!5 E! B2 q( p" E9 J
有没有开发微信的一些源码借签呢,案例中的这个都是最简单的!没有打开程序内隐藏的值的方法! :mrgreen:
) k) e2 P+ q. M/ f, J- u; o# l( P) D; N
回复' L4 K8 N7 _4 Z  ]* K% g
1 Y- `  U" ~* z- S- U
xiaoxia 官方 2017-09-27 10:46- ^. H9 n& w- F
用RunAdb实现
4 M! u3 ?2 S! E6 D+ v8 k( @: x% M/ a1 \
回复
0 _* V! z0 ?% [. `) s' m; T9 r5 G1 U. V, U/ S
jasca 2017-07-22 00:27
" M1 k% i2 f/ A7 Z! x2 ~怎么获取手机截图?4 _) U7 x8 n, T6 a1 S% t

$ i% g: ^) a- o+ Q+ ^( U" Z回复
# @; Z+ l# h; z: Z" Z7 |* ^7 }
4 g6 Z) s6 ~( g, D9 y# {4 itangwei 2017-08-11 13:314 K6 U' e0 ?; v! t/ }, B+ 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, 2024-5-11 10:56 , Processed in 0.168420 second(s), 27 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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