易语言吧

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 20589|回复: 1

[大漠命令] 大漠插件BindWindow命令用法详解

[复制链接]

523

主题

832

帖子

4万

积分

易语言吧管理员

Rank: 9Rank: 9Rank: 9

积分
42096

幽默大师终生成就

威望
0
易币
40869
贡献
0
积分
42096
UID
1
在线时间
1503 小时
注册时间
2019-7-19
发表于 2019-12-18 17:54:58 | 显示全部楼层 |阅读模式
函数简介:
绑定指定的窗口,并指定这个窗口的屏幕颜色获取方式,鼠标仿真模式,键盘仿真模式,以及模式设定,高级用户可以参考BindWindowEx更加灵活强大./ p; J9 N; j2 C+ _: K- m
函数原型:
3 ]9 w$ i7 {2 h7 h* j6 ]$ i8 s0 _9 E! j$ W
long BindWindow(hwnd,display,mouse,keypad,mode)
/ Z! \( Z6 i- U* d9 J, L
参数定义:
' K5 N. G, @( w6 M
0 }! A/ }3 h3 D: {0 lhwnd
整形数: 指定的窗口句柄$ w  n6 }. s; V& Y5 ~$ l

( L+ W" z% c# a8 cdisplay
字符串: 屏幕颜色获取方式 取值有以下几种
! U* A4 i/ _: p& i/ Y4 D, U8 }0 w4 Q) C- H+ `! _: H2 Y, Z
"normal" :
正常模式,平常我们用的前台截屏模式. D9 j3 b1 }2 n$ _. g9 R$ F

5 w/ u0 ~( `% N* `1 G$ K: C"gdi" : gdi模式,用于窗口采用GDI方式刷新时. 此模式占用CPU较大. 参考SetAero  win10以上系统使用此模式,如果截图失败,尝试把目标程序重新开启再试试。

. |% \; p5 O' x% ~9 S"gdi2" : gdi2模式,此模式兼容性较强,但是速度比gdi模式要慢许多,如果gdi模式发现后台不刷新时,可以考虑用gdi2模式.
$ a+ s2 B+ v8 R4 C- \: v! |) Z
' j; `; S% p- o; Q& ]2 q# C6 {"dx2" : dx2模式,用于窗口采用dx模式刷新,如果dx方式会出现窗口所在进程崩溃的状况,可以考虑采用这种.采用这种方式要保证窗口有一部分在屏幕外.win7 win8或者vista不需要移动也可后台.此模式占用CPU较大. 参考SetAero.  win10以上系统使用此模式,如果截图失败,尝试把目标程序重新开启再试试。

$ E* H$ L$ V6 s  E6 f/ @"dx3" : dx3模式,同dx2模式,但是如果发现有些窗口后台不刷新时,可以考虑用dx3模式,此模式比dx2模式慢许多. 此模式占用CPU较大. 参考SetAero. win10以上系统使用此模式,如果截图失败,尝试把目标程序重新开启再试试。8 g3 S4 z% P0 `  i
"dx" : dx模式,等同于BindWindowEx中,display设置的"dx.graphic.2d|dx.graphic.3d",具体参考BindWindowEx
5 W  Q0 j9 p/ V0 J4 ?& o5 H! G+ |% j
' j" ^3 o( C* w( `6 e6 g$ Z- t5 Z6 R
mouse 字符串: 鼠标仿真模式 取值有以下几种3 _! l9 e* b5 `% `8 Q& t" s! ~. c* e

; R7 I* P! k& d' A' o/ T7 Z"normal" : 正常模式,平常我们用的前台鼠标模式4 p$ b* \! c8 N3 R8 X; }" n
) {5 H( k0 N& V
"windows": Windows模式,采取模拟windows消息方式 同按键自带后台插件.

' f/ M0 H' G( ~/ Y/ f5 F7 X"windows2": Windows2 模式,采取模拟windows消息方式(锁定鼠标位置) 此模式等同于BindWindowEx中的mouse为以下组合. D2 G* S7 t- D( y+ l0 R! ?8 `  s
"dx.mouse.position.lock.api|dx.mouse.position.lock.message|dx.mouse.state.message"9 F( A) x, ]$ |5 Y+ V* g

7 o. }/ ?  w& v( s, H& t

, ?& H$ H. U" c8 {& A5 T0 L; ~3 q: L"windows3": Windows3模式,采取模拟windows消息方式,可以支持有多个子窗口的窗口后台.# E0 k8 j2 a, n
6 y- i$ O: |; N* N4 F, T
"dx": dx模式,采用模拟dx后台鼠标模式,这种方式会锁定鼠标输入.有些窗口在此模式下绑定时,需要先激活窗口再绑定(或者绑定以后激活),否则可能会出现绑定后鼠标无效的情况.此模式等同于BindWindowEx中的mouse为以下组合* [2 B) H3 L% U" P- C: X
"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"
$ a) b; M4 s7 B( F5 L7 @$ ~/ h1 s9 [: V' M3 R1 o3 O, d
/ S6 n8 M, O, F" E1 a
"dx2":dx2模式,这种方式类似于dx模式,但是不会锁定外部鼠标输入.
& s. O9 J' Y! B* X9 c有些窗口在此模式下绑定时,需要先激活窗口再绑定(或者绑定以后手动激活),否则可能会出现绑定后鼠标无效的情况. 此模式等同于BindWindowEx中的mouse为以下组合# v  u% |! {( @8 E
"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"
9 P" B$ q. t6 J9 S' ^" J0 W9 m& O9 O* n

7 b  A0 S: y/ d' U  V: {keypad 字符串: 键盘仿真模式 取值有以下几种
( Z7 A" A9 V* B( Z2 P$ y
" n- I, R0 h* G( ]"normal" : 正常模式,平常我们用的前台键盘模式4 Z; R* U$ {$ r9 ]6 }6 x; _

8 v$ _7 W2 U) X) ]"windows": Windows模式,采取模拟windows消息方式 同按键的后台插件.# G. ]! ?/ L2 x( w' \! a
5 W5 D' h. ~5 p/ r4 U3 C* h
"dx": dx模式,采用模拟dx后台键盘模式。有些窗口在此模式下绑定时,需要先激活窗口再绑定(或者绑定以后激活),否则可能会出现绑定后键盘无效的情况. 此模式等同于BindWindowEx中的keypad为以下组合9 |0 N7 P/ B. {5 ^
"dx.public.active.api|dx.public.active.message|
dx.keypad.state.api|dx.keypad.api|dx.keypad.input.lock.api": c$ g( T9 h, r( F

0 Q6 {0 r2 b7 ^" Y% t

% r$ {& g# o1 T4 S4 \
' Y5 E& l& e3 S4 |3 ~
mode 整形数: 模式。 取值有以下几种
     0 : 推荐模式此模式比较通用,而且后台效果是最好的.! k9 P( r# b2 H: i1 F; N6 I
     2 : 同模式0,如果模式0有崩溃问题,可以尝试此模式. 注意0和2模式,当主绑定(第一个绑定同个窗口的对象)绑定成功后,那么调用主绑定的线程必须一致维持,否则线程一旦推出,对应的绑定也会消失.
: z3 Z  ?0 f( d1 X     101 : 超级绑定模式. 可隐藏目标进程中的dm.dll.避免被恶意检测.效果要比dx.public.hide.dll好. 推荐使用., v, Y3 e/ U( v+ }1 X/ r4 F; w
     103 : 同模式101,如果模式101有崩溃问题,可以尝试此模式.
8 g1 @' `/ z1 j) Z* K3 F6 \0 y/ Q4 K$ d. @. x6 p
     11 : 需要加载驱动,适合一些特殊的窗口,如果前面的无法绑定,可以尝试此模式. 此模式不支持32位系统
5 Y/ J! d) N4 a2 o1 o3 d5 J: d3 c, ^! M5 A. t
     13 : 需要加载驱动,适合一些特殊的窗口,如果前面的无法绑定,可以尝试此模式. 此模式不支持32位系统

3 i: S; s8 g# b! i/ o  n1 c* P1 i需要注意的是: 模式101 103在大部分窗口下绑定都没问题。但也有少数特殊的窗口,比如有很多子窗口的窗口,对于这种窗口,在绑定时,一定要把  D% m4 S# b) x! K. k6 t9 V
鼠标指向一个可以输入文字的窗口,比如一个文本框,最好能激活这个文本框,这样可以保证绑定的成功.

) h6 _: f! V5 L0 d) u返回值:! z) _* Z$ N( r5 y) P8 N/ h! g5 e
整形数:
2 \% {  q. Q! A& b0 h5 D* e  e0:
失败1 G  u" C/ P5 D  [! L& d
1: 成功- G4 Y: U- K* T" w4 t9 ]) }% P

8 b2 q: m: X: N# W2 ^9 f) q如果返回0,可以调用
GetLastError来查看具体失败错误码,帮助分析问题.
" w6 H  |) Y- ]- r
; z  v/ L8 i! {) v4 {$ m

2 a' N! m& }$ f5 N6 ^2 u) R$ q使用例子:0 q* u+ ^  f$ [1 X, ?" ]5 x
截图201912181754233120..png
2 ?4 i1 N* \9 r绑定失败的原因
8 K( G5 g: L$ J 截图201912181749256428..png
5 v/ v* }- [* q+ c3 N3 i9 ~0 `- ~0 O  Q, G) I1 B- E# {7 d
% C6 I0 h) F* h
2 B6 m0 |0 O3 c* J7 {' w: f5 S

0

主题

2336

帖子

9563

积分

VIP超级贵宾

Rank: 8Rank: 8

积分
9563
威望
198
易币
6831
贡献
0
积分
9563
UID
11903
在线时间
36 小时
注册时间
2021-1-23
发表于 2021-5-28 20:52:51 | 显示全部楼层
楼主发贴辛苦了,谢谢楼主分享!我觉得易语言吧是注册对了!
回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【选择右侧内容,快速回复】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

大漠插件注册码无须等1-3号

QQ|本站为中文编程爱好者方便学习编程.公益免费,站内所有资源均来自互联网收集或用户上传分享,本站不拥有此类资源的版权。 作为网络服务提供者,对转载行为的发生不具备充分的监控能力。但是当版权拥有者提出侵权并出示充分的版权证明材料时,易语言吧负有移除转载作品以及停止继续传播的义务。在满足前款条件下采取移除等相应措施后不为此向原发布人承担违约责任,包括不承担因侵权不成立而给原发布人带来损害的赔偿责任。 用户免费分享产生,如果侵犯了你的权益,联系QQ:3066137757|Archiver|手机版|小黑屋|易语言吧

GMT+8, 2026-4-29 06:49 , Processed in 0.140438 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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