按键精灵 大漠插件怎么样绑定游戏窗口代码基本格式

按键精灵 大漠插件怎么样绑定游戏窗口代码基本格式,第1张

怎么绑定,大漠接口说明里说得清清楚。

学习任何东西都要自己多动手动脑,你才能记得住。

函数简介:

绑定指定的窗口,并指定这个窗口的屏幕颜色获取方式,鼠标仿真模式,键盘仿真模式,以及模式设定,高级用户可以参考BindWindowEx更加灵活强大.

函数原型:

long BindWindow(hwnd,display,mouse,keypad,mode)

参数定义:

hwnd: 指定的窗口句柄

display: 屏幕颜色获取方式 取值有以下几种

"normal" : 正常模式,平常我们用的前台截屏模式

"gdi" : gdi模式,用于窗口采用GDI方式刷新时. 此模式占用CPU较大.

"gdi2" : gdi2模式,此模式兼容性较强,但是速度比gdi模式要慢许多,如果gdi模式发现后台不刷新时,可以考虑用gdi2模式.

"dx2" : dx2模式,用于窗口采用dx模式刷新,如果dx方式会出现窗口所在进程崩溃的状况,可以考虑采用这种.采用这种方式要保证窗口有一部分在屏幕外.win7或者vista不需要移动也可后台.此模式占用CPU较大.

"dx3" : dx3模式,同dx2模式,但是如果发现有些窗口后台不刷新时,可以考虑用dx3模式,此模式比dx2模式慢许多. 此模式占用CPU较大.

"dx" : dx模式,等同于BindWindowEx中,display设置的"dx.graphic.2d|dx.graphic.3d",具体参考BindWindowEx

注意此模式需要管理员权限

mouse: 鼠标仿真模式 取值有以下几种

"normal" : 正常模式,平常我们用的前台鼠标模式

"windows": Windows模式,采取模拟windows消息方式 同按键自带后台插件.

"windows2": Windows2 模式,采取模拟windows消息方式(锁定鼠标位置) 此模式等同于BindWindowEx中的mouse为以下组合

"dx.mouse.position.lock.api|dx.mouse.position.lock.message|dx.mouse.state.message"

注意此模式需要管理员权限

"windows3": Windows3模式,采取模拟windows消息方式,可以支持有多个子窗口的窗口后台.

"dx": dx模式,采用模拟dx后台鼠标模式,这种方式会锁定鼠标输入.有些窗口在此模式下绑定时,需要先激活窗口再绑定(或者绑定以后激活),否则可能会出现绑定后鼠标无效的情况.此模式等同于BindWindowEx中的mouse为以下组合

"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"

注意此模式需要管理员权限

"dx2":dx2模式,这种方式类似于dx模式,但是不会锁定外部鼠标输入.

有些窗口在此模式下绑定时,需要先激活窗口再绑定(或者绑定以后激活),否则可能会出现绑定后鼠标无效的情况. 此模式等同于BindWindowEx中的mouse为以下组合

"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"

注意此模式需要管理员权限

keypad: 键盘仿真模式 取值有以下几种

"normal" : 正常模式,平常我们用的前台键盘模式

"windows": Windows模式,采取模拟windows消息方式 同按键的后台插件.

"dx": dx模式,采用模拟dx后台键盘模式。有些窗口在此模式下绑定时,需要先激活窗口再绑定(或者绑定以后激活),否则可能会出现绑定后键盘无效的情况. 此模式等同于BindWindowEx中的keypad为以下组合

"dx.public.active.api|dx.public.active.message| dx.keypad.state.api|dx.keypad.api|dx.keypad.input.lock.api"

注意此模式需要管理员权限

mode : 模式。 取值有以下两种

0 : 推荐模式,此模式比较通用,而且后台效果是最好的.

1 : 和模式0效果一样,如果模式0会失败时,可以尝试此模式,此模式仅支持按键和简单游平台,小精灵等一律不支持.

2 : 同模式0,此模式为老的模式0,尽量不要用此模式,除非有兼容性问题.

3 : 同模式1,此模式为老的模式1,尽量不要用此模式,除非有兼容性问题.

4 : 同模式0,如果模式0有崩溃问题,可以尝试此模式.

5 : 同模式1, 如果模式0有崩溃问题,可以尝试此模式.

返回值:

0: 失败

1: 成功

示例:

// display: 前台 鼠标:前台键盘:前台 模式0

dm_ret = dm.BindWindow(hwnd,"normal","normal","normal",0)

// display: gdi 鼠标:前台 键盘:前台模式1

dm_ret = dm.BindWindow(hwnd,"gdi","normal","normal",1)

// display: dx 鼠标:前台 键盘:前台模式0

dm_ret = dm.BindWindow(hwnd,"dx","normal","normal",0)

// display: dx 鼠标:windows后台 键盘:windows后台 模式1

dm_ret = dm.BindWindow(hwnd,"dx","windows","windows",1)

// display: dx 鼠标:dx 后台 键盘: dx后台 模式1

dm_ret = dm.BindWindow(hwnd,"dx","dx","dx",1)

// display: dx 鼠标:windows3后台 键盘:windows后台 模式1

dm_ret = dm.BindWindow(hwnd,"dx","windows3","windows",1)

注意:

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

另外,绑定窗口后,必须加以下代码,以保证所有资源正常释放

这个函数的意思是在脚本结束时,会调用这个函数。需要注意的是,目前的按键版本对于这个函数的执行不是线程级别的,也就是说,这个函数只会在主线程执行,子线程绑定的大漠对象,不保证完全释放。

Sub OnScriptExit()

dm_ret = dm.UnBindWindow()

End Sub

另外 绑定dx会比较耗时间,请不要频繁调用此函数.

另外如果绑定的是dx,要注意不可连续 *** 作dx,中间至少加个10MS的延时,否则可能会导致 *** 作失败.比如绑定图色DX,那么不要连续取色等,键鼠也是一样.

注意,图色dx,鼠标windows2 dx dx2以及键盘dx都需要管理员权限才能运行,所以对于WIN7和VISTA用户,在启动目标窗口时,必须用管理员方式启动,否则无法绑定成功!

还有一点特别要注意的是,有些窗口绑定之后必须加一定的延时,否则后台也无效.一般1秒到2秒的延时就足够.

发现绑定失败的几种可能(一般是需要管理员权限的模式才有可能会失败)

1. 系统登录的帐号必须有Administrators权限

2. 如果是vista和win7系统,启动窗口进程必须用管理员模式启动,脚本也必须用管理员模式启动.

3. 一些防火墙会防止插件注入窗口所在进程,比如360防火墙等,必须把dm.dll设置为信任.

4. 还有一个比较弱智的可能性,那就是插件没有注册到系统中,这时CreateObject压根就是失败的. 检测对象是否创建成功很简单,如下代码

set dm = createobject("dm.dmsoft")

ver = dm.Ver()

If len(ver) = 0 Then

MessageBox "创建对象失败,检查系统是否禁用了vbs脚本权限"

EndScript

End If

这个需要下载测试工具,然后一种一种的试,、,这里没办法,要挨个测试,有时绑定模式弄错了,游戏会自动关闭。

先从屏幕的后台模式测试,能正常截图,就可以,一般用gid的模式比较通用,

鼠标,一般WINDOW和DX 这2种,常用的DX2的模式比较多

键盘,一般常用 DX比较多

绑定模式,一般免费用户都是0,只有收费用户才能调用其它的模式,

大漠插件找色不识别是因为换电脑电脑分辨率显卡存在差异。根据查询相关资料信息大漠是针对某个相同计算机的,不同的计算机要做不同的字库和图片,调整正确分辨率后,使用大漠插件找色步骤。

1、在先开启图色调试模式dm.EnableDisplayDebug1,然后用dm.CapturePre()截取查看现场画面。

2、使用抓抓加载图片打开。

3、根据找图找色代码命令设置的范围去选取抓抓上截图的范围。

4、对比两者图色数据是否一致,分析为什么找不到图色或找到坐标不正确。

5、如果是找图命令看不出图片区别的话,直接追加一张查找图片数据。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7842779.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存