解决方案:易于使用的语言Damo插件后台高级绑定窗口BindWindowEx(2)

电脑杂谈  发布时间:2020-12-10 23:00:54  来源:网络整理

mode整数:模式。值如下

0:推荐模式,此模式较为通用,背景效果最好。

1:效果与模式0相同,如果模式0失败,则可以尝试此模式。

2:与模式0相同,此模式为旧模式0,除非存在兼容性问题,否则请不要使用此模式。

3:与模式1相同,此模式是旧模式1,除非存在兼容性问题,否则请不要使用此模式。

4:与模式0相同,如果模式0出现崩溃问题,则可以尝试此模式。

5:与模式1相同,如果模式0出现崩溃问题,则可以尝试此模式。

6:与模式0相同,如果模式0出现崩溃问题,则可以尝试此模式。

7:与模式1相同,如果模式1出现崩溃问题,则可以尝试此模式。

101:超级绑定模式。可以在目标进程中隐藏dm.dll。避免恶意检测。效果比dx.public.hide.dll更好。推荐。

103:与模式101相同,如果模式101出现崩溃问题,则可以尝试此模式。

应该注意:模式1 3 5 7 101 103可以在大多数窗口中绑定。但是也有一些特殊的窗口,例如带有许多子窗口的窗口。对于这种窗口,在绑定时,必须将鼠标指向可以输入文本的窗口,例如文本框。最好激活此文本框。这样可以确保绑定成功。

返回值:

整形数:  0: 失败  1: 成功

如果返回0,则可以调用GetLastError查看特定的失败错误代码并帮助分析问题。

示例:

dm_ret = dm.BindWindowEx(hwnd,"normal","dx.mouse.position.lock.api|dx.mouse.position.lock.message","windows","dx.public.active.api",0) 
 
dm_ret = dm.BindWindowEx(hwnd,"dx2","windows","normal","dx.public.active.api",0) 
 
dm_ret = dm.BindWindowEx(hwnd,"dx.graphic.2d","dx.mouse.position.lock.api|dx.mouse.position.lock.message","dx.keypad.state.api|dx.keypad.api","",0) 
 
dm_ret = dm.BindWindowEx(hwnd,"dx2","windows","windows","",0)
 
dm_ret = dm.BindWindowEx(hwnd,"dx2","windows","windows","dx.public.disable.window.size|dx.public.disable.window.minmax",0) 
 
dm_ret = dm.BindWindowEx(hwnd,"dx2","windows3","windows","dx.mouse.position.lock.api",0)

注意:

绑定后,所有坐标都相对于窗口客户区域的坐标(不包括窗口边框)

此外,在绑定窗口之后,必须添加以下代码以确保所有资源的正常释放

此函数意味着脚本结束时将调用此函数。需要说明的是,当前按钮的版本不是该函数执行的线程级别,也就是说,该函数仅在主线程上执行,不能保证子线程绑定的desert对象被完全释放。在高级语言中,您需要在适当的时候控制解除绑定。

Sub OnScriptExit()
dm_ret = dm.UnBindWindow() 
​​​​​​​End Sub

此外,绑定dx将花费更多时间,请不要频繁调用此函数。

此外,如果绑定了dx,请注意dx的连续运行,并在中间至少增加10MS延迟,否则可能导致操作失败。例如,绑定颜色DX,然后不要继续选择颜色等,键盘和鼠标也是如此。

请注意,所有需要组合的模式都必须具有管理员权限才能运行,因此对于WIN7,WIN8和VISTA用户,在启动窗口进程时,必须使用管理员模式来启动,否则绑定将不会成功!

还有一点要注意的是,绑定某些窗口后必须添加一定的延迟,否则背景将无效。通常,延迟1秒到2秒就足够了。

找到绑定失败的几种可能性(通常,需要管理员权限的模式可能会失败)

1. 系统登录的帐号必须有Administrators权限
 
2. 如果是vista和win7 win8系统,启动窗口进程必须用管理员模式启动,脚本也必须用管理员模式启动.
 
3. 一些防火墙会防止插件注入窗口所在进程,比如360防火墙等,必须把dm.dll设置为信任.
 
4.还有一个比较弱智的可能性,那就是插件没有注册到系统中,这时CreateObject压根就是失败的. 检测对象是否创建成功很简单,如下代码
 
set dm = createobject("dm.dmsoft")
ver = dm.Ver()
If len(ver) = 0 Then
    MessageBox "创建对象失败,检查系统是否禁用了vbs脚本权限"
    EndScript
End If
5.在沙盘中开的窗口,绑定一些需要管理员权限的模式,会失败。
解决方法是要配置沙盘参数,参考如何配置沙盘参数.
 
6. 窗口所在进程有保护,这个我也无能为力.

视频教程模块软件包的源代码:

易语言定时锁定鼠标

.版本 2
 
.子程序 BindWindowEx, 整数型, 公开, 后台绑定窗口EX BindWindowEx(返回值:0失败,1成功)
.参数 hwnd, 整数型, , 指定的窗口句柄
.参数 display, 文本型, , 屏幕颜色获取方式
.参数 mouse, 文本型, , 鼠标仿真模式
.参数 keypad, 文本型, , 键盘仿真模式
.参数 public, 文本型, , 公共属性,查看接口说明
.参数 mode, 整数型, , 模式,查看接口说明
 
返回 (obj.数值方法 (“BindWindowEx”, hwnd, display, mouse, keypad, public, mode))

源代码:511满足彝语沙漠单多线程模块的生产

易于使用的语言包,免注册,检查和杀死沙漠模块命令教程

轻松的语言和沙漠的单线程模块,使绑定窗口BindWindowEx


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/bofangqi/article-339567-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...