易语言吧

标题: 大漠插件BindWindow命令用法详解 [打印本页]

作者: admin    时间: 2019-12-18 17:54
标题: 大漠插件BindWindow命令用法详解
函数简介:
绑定指定的窗口,并指定这个窗口的屏幕颜色获取方式,鼠标仿真模式,键盘仿真模式,以及模式设定,高级用户可以参考BindWindowEx更加灵活强大.# y6 A- a; D/ H" V0 ?6 Q
函数原型:
7 ^! G6 E' U" i8 p9 N
7 I% R7 L9 g( m4 [. flong BindWindow(hwnd,display,mouse,keypad,mode)
: z! `& d- v/ @$ q
参数定义:% \% L4 A: Y3 Q  E0 d& k3 h
$ I* h+ U# k9 `+ ]2 `  }, q0 {* e
hwnd
整形数: 指定的窗口句柄
, B% T7 t# o% [& P6 p2 {6 o1 }; u3 T3 o. g" ?3 c* m& y& e
display
字符串: 屏幕颜色获取方式 取值有以下几种
! M) C; f0 Y  O) U2 D9 E. ?( Y& V- K6 r3 i) U& f
"normal" :
正常模式,平常我们用的前台截屏模式9 B9 V; L4 L6 K
/ a2 {, Y# ^; v. @( m3 [
"gdi" : gdi模式,用于窗口采用GDI方式刷新时. 此模式占用CPU较大. 参考SetAero  win10以上系统使用此模式,如果截图失败,尝试把目标程序重新开启再试试。
6 d9 O( t) b- T/ {* _. W
"gdi2" : gdi2模式,此模式兼容性较强,但是速度比gdi模式要慢许多,如果gdi模式发现后台不刷新时,可以考虑用gdi2模式.
4 J7 j/ @& V: J6 H
; @! c' h7 }: Q0 W4 s# v$ v"dx2" : dx2模式,用于窗口采用dx模式刷新,如果dx方式会出现窗口所在进程崩溃的状况,可以考虑采用这种.采用这种方式要保证窗口有一部分在屏幕外.win7 win8或者vista不需要移动也可后台.此模式占用CPU较大. 参考SetAero.  win10以上系统使用此模式,如果截图失败,尝试把目标程序重新开启再试试。

: g- J2 |! x7 l+ x" @2 n; R) z' d"dx3" : dx3模式,同dx2模式,但是如果发现有些窗口后台不刷新时,可以考虑用dx3模式,此模式比dx2模式慢许多. 此模式占用CPU较大. 参考SetAero. win10以上系统使用此模式,如果截图失败,尝试把目标程序重新开启再试试。
7 D1 i% {0 Z) A! Z"dx" : dx模式,等同于BindWindowEx中,display设置的"dx.graphic.2d|dx.graphic.3d",具体参考BindWindowEx
( x, Z" T" {" I( |+ T5 W5 p" \0 ?
  I% Y0 w" |8 r1 l- _- o& t; k* O" y6 {' E" {
mouse 字符串: 鼠标仿真模式 取值有以下几种9 k# y* W+ g, J* }
4 V3 p! f, l" [( e8 v: }1 x8 D7 f, ^- G
"normal" : 正常模式,平常我们用的前台鼠标模式
) Z+ ?0 V6 e5 [; H. Q
1 V' f8 _! O' v; w5 e6 D. K"windows": Windows模式,采取模拟windows消息方式 同按键自带后台插件.

) P! M" m1 U$ Q8 ]) C3 O3 ?0 q8 l"windows2": Windows2 模式,采取模拟windows消息方式(锁定鼠标位置) 此模式等同于BindWindowEx中的mouse为以下组合3 X* g. v& X6 K1 E" [
"dx.mouse.position.lock.api|dx.mouse.position.lock.message|dx.mouse.state.message"9 }7 {6 d" {( |. M/ }3 S
% A8 `! Y7 P, x& I! F( O
; ?: u& {/ y8 D7 z  C5 m
"windows3": Windows3模式,采取模拟windows消息方式,可以支持有多个子窗口的窗口后台., v' s9 X- S+ _+ i) c
* G3 \6 n* s2 y4 `
"dx": dx模式,采用模拟dx后台鼠标模式,这种方式会锁定鼠标输入.有些窗口在此模式下绑定时,需要先激活窗口再绑定(或者绑定以后激活),否则可能会出现绑定后鼠标无效的情况.此模式等同于BindWindowEx中的mouse为以下组合
6 ^6 j* ~, U; M: G+ s0 e9 R"dx.public.active.api|dx.public.active.message|dx.mouse.position.lock.api|dx.mouse.position.lock.message|dx.mouse.state.api|dx.mouse.state.message|dx.mouse.api|dx.mouse.focus.input.api|dx.mouse.focus.input.message|dx.mouse.clip.lock.api|dx.mouse.input.lock.api|dx.mouse.cursor"
, K3 S: h9 l& p( L3 m) w
$ w9 X4 ^: L- N0 a: C' G

* c5 ?3 g; I2 g( k"dx2":dx2模式,这种方式类似于dx模式,但是不会锁定外部鼠标输入.
8 p7 y; h7 t; @8 I) w+ c4 _有些窗口在此模式下绑定时,需要先激活窗口再绑定(或者绑定以后手动激活),否则可能会出现绑定后鼠标无效的情况. 此模式等同于BindWindowEx中的mouse为以下组合: n; g! W2 r# S% H* X/ B( a; ?
"dx.public.active.api|dx.public.active.message|dx.mouse.position.lock.api|dx.mouse.state.api|dx.mouse.api|dx.mouse.focus.input.api|dx.mouse.focus.input.message|dx.mouse.clip.lock.api|dx.mouse.input.lock.api| dx.mouse.cursor"
5 c" b6 Q/ T7 l' |2 e
3 g6 z6 B# H. I8 V$ l$ }. ?7 t3 f# V* d& S9 ]: b1 z
keypad 字符串: 键盘仿真模式 取值有以下几种
" u5 H3 s# e/ R$ v$ W+ n) J0 x( z& p. X. v, C% R
"normal" : 正常模式,平常我们用的前台键盘模式
; T) ]6 N: S' J. G3 J2 G* j
% C  k, g. @* t3 q5 T"windows": Windows模式,采取模拟windows消息方式 同按键的后台插件.
; C; D% M# F% v" d' j1 a6 f, m+ B9 q. s3 Q+ Z
"dx": dx模式,采用模拟dx后台键盘模式。有些窗口在此模式下绑定时,需要先激活窗口再绑定(或者绑定以后激活),否则可能会出现绑定后键盘无效的情况. 此模式等同于BindWindowEx中的keypad为以下组合) {; Z/ j2 T4 p
"dx.public.active.api|dx.public.active.message|
dx.keypad.state.api|dx.keypad.api|dx.keypad.input.lock.api"
; |# B0 w9 V) V5 A' s( p. F: o' I; R* @  n! ^

# v& J+ U; {. l3 K: n) i! s7 G - F! d$ O6 G2 F1 G" Q; y- [
mode 整形数: 模式。 取值有以下几种
     0 : 推荐模式此模式比较通用,而且后台效果是最好的.
" O1 T- {5 |# o9 a) t     2 : 同模式0,如果模式0有崩溃问题,可以尝试此模式. 注意0和2模式,当主绑定(第一个绑定同个窗口的对象)绑定成功后,那么调用主绑定的线程必须一致维持,否则线程一旦推出,对应的绑定也会消失.7 V! o/ D) ?9 U; q. l+ H+ R7 \, K
     101 : 超级绑定模式. 可隐藏目标进程中的dm.dll.避免被恶意检测.效果要比dx.public.hide.dll好. 推荐使用.8 S6 P! L9 {4 y9 W  o
     103 : 同模式101,如果模式101有崩溃问题,可以尝试此模式. 4 G/ j  i1 H( T; _& \
0 x* ^3 v) E5 s! O) I4 o
     11 : 需要加载驱动,适合一些特殊的窗口,如果前面的无法绑定,可以尝试此模式. 此模式不支持32位系统6 ?$ D) e) g8 {/ }# T
! s" ]7 b+ Q( E) O5 r
     13 : 需要加载驱动,适合一些特殊的窗口,如果前面的无法绑定,可以尝试此模式. 此模式不支持32位系统

7 J8 u9 F  M1 r! e: n( A需要注意的是: 模式101 103在大部分窗口下绑定都没问题。但也有少数特殊的窗口,比如有很多子窗口的窗口,对于这种窗口,在绑定时,一定要把' a1 h8 b" T5 e- U$ {7 f
鼠标指向一个可以输入文字的窗口,比如一个文本框,最好能激活这个文本框,这样可以保证绑定的成功.
4 f+ x/ \. x- H( c' W4 b% j, w0 P3 r
返回值:" f1 t- `6 h2 n7 o  a
整形数:
' B' Q' o/ R: v) B0:
失败# l$ w- U9 Q' O2 f  h3 R0 C
1: 成功
; W1 E8 r2 q- Y. Q( S: B' ?) X2 x4 P4 t% i7 f4 t% n
如果返回0,可以调用
GetLastError来查看具体失败错误码,帮助分析问题.
+ l) n, l2 J) P1 w) i( [
5 R) {- z5 {1 ?( G8 e3 ]# c

0 t& E5 w& [1 G% M) n# J使用例子:
' m0 x; ^8 Y5 a; s' Z0 | (, 下载次数: 238)