按键后台插件命令为什么会失效?
按键后台命令就是无效!抓狂啊,暴躁啊,忍不住泪牛满面啊~是否有同学遇到这样的情况呢? 有吧?肯定有。 是什么原因呢? |
原因一、游戏窗口句柄没有获取到
1. 游戏加壳,无法获取窗口句柄。
你要绑定的游戏它加了壳,所以无法获取窗口句柄,无法绑定窗口。无法向窗口发送后台命令。(加壳的全称是可执行程序资源压缩,是保护文件的常用手段.它起到了加密隐藏的保护作用。让你无法抓到窗口句柄。) 这种情况比较复杂,有很多脱壳的工具,但是并不是你试用了一款脱壳软件它就一定适用于你要绑定的游戏,你可能要尝试很多种。
2. 游戏hook了GetParent函数接口
hook技术可以将自身的代码“融入”被hook住的程序的进程中,成为目标进程的一个部分。通过hook“接触”到需要修改的api函数入口点,改变它的地址指向新的自定义的函数。GetParent函数是用于获得一个指定子窗口的父窗口句柄,如果游戏对它进行了hook,我们就无法获取想要获取的游戏窗口句柄。
3. 电脑上运行了其他的挂机软件
电脑上运行了其他的挂机软件,导致了要操作的游戏窗口受到了干扰冲突。关掉其他的挂机软件,重启游戏再绑定。
导致了要操作的游戏窗口受到了干扰冲突。关掉其他的挂机软件,重启游戏再绑定。
原因二、 游戏采用的绘图方式差异(图色信息获取与识别方向)
目前较为热门的几种绘图分别是:GDI、 OpenGL 、DirectX。 它们的功能就是处理图形图像(我们把范围缩小一点,就拿游戏窗口的图色做例子),GDI 是通过操作系统支配最后达成游戏窗口图色的显示,而OpenGL 、DirectX 它们两个是由显卡操作达成游戏窗口图色显示的。 |
按键精灵无法对基于显卡的OpenGL 、DirectX 直接操作:
我们的按键后台命令是基于操作系统的,所以无法直接对基于显卡的OpenGL 、DirectX 进行操作。无法对它操作就意味着无法获取图色信息,在使用后台图色命令的时候就会失效。对于同样基于操作系统的GDI则可以进行操作和获取图色信息。
大漠插件可以实现对基于显卡的OpenGL 、DirectX 的图色指令: 有些细心的同学可能会问,那为什么大漠就可以成功绑定及操作由OpenGL、DirectX 绘图类型的窗口呢? 大漠插件是对这些窗口做了处理的,所以可以截取到由显卡发出的OpenGL 、DirectX 的图色指令,从而达到后台效果。
如果大家再使用按键后台命令时遇到失效的情况,建议大家可以使用大漠或者其他的后台插件
大漠下载地址:
http://bbs.anjian.com/viewthread.php?tid=118820&page=1&extra=
大漠插件下载之后,解压包里有个大漠接口说明- 您所在的用户组无法下载或查看附件
,这里面详细描述了大漠插件命令的使用方法。这里为大家简要介绍下使用的步骤。 >首先,要先释放注册下插件,打开大漠接口说明之后,我们点击蓝色的那行文字。
- 您所在的用户组无法下载或查看附件
>
点击之后会出现,大漠释放到注册的一个流程说明,并有代码案例。注册代码可以直接复制使用,插件释放的位置大家可以按照自己的习惯去设置。
- 您所在的用户组无法下载或查看附件
>
注册之后,使用窗口绑定工具,后台模式绑定下游戏窗口。
- 您所在的用户组无法下载或查看附件
如果你绑定游戏的时候,尝试了一种后台绑定模式失效了,你可以多尝试几种模式,大漠的后台绑定兼容性还是不错的。 >
每个命令都有提供清晰的代码示例:
- 您所在的用户组无法下载或查看附件
原因三、 后台键盘鼠标信息无法感应
每个游戏客户端,接收消息的模式机制不尽相同。按键精灵后台键鼠命令,按下一个键持续的时间不能太长。而有些游戏它接收消息的机制模式,接收信息的频率和按键后台键盘命令的频率不一致,按键所发出的后台键盘信息,游戏就无法感应,从而导致后台命令失效的情况。鼠标点击也是一样。
|
这种情况下,我们可以使用其他的后台插件,这些插件对后台键鼠做过优化改善,从而使游戏窗口能够感应到后台键鼠的操作。 当然,不一样的插件效果是不一样,可以选择一些名气比较高的插件,例如:大漠、361度插件
大漠插件:
- 您所在的用户组无法下载或查看附件
大漠插件的键鼠命令代码十分简洁。我们绑定后台模式之后,dm.keydown 13实现的就是后台键盘按下,如果绑定的前台模式,dm.keydown13就是前台效果。
大漠键鼠操作代码示例:
- Call register()//注册
- hwnd=Plugin.Window.MousePoint()//获取鼠标指向的窗口句柄
- dm_ret = dm.BindWindow(hwnd,"dx","windows","windows",1)//后台模式绑定窗口
- //操作一次 按下放开组合键ctrl+A
- dm.keydown 17 //按下ctrl键
- dm.keypress 65 // 按一次A键
- dm.keyup 17 //送开ctrl键
- //鼠标左键单击一次
- dm.LeftClick
- //鼠标右键双击
- dm.LeftDoubleClick
- Sub register() //大漠释放及注册
- Set ws = createobject("Wscript.Shell")
- ws.run "regsvr32 atl.dll /s"
- Set ws = nothing
- PutAttachment "G:\test", "dm.dll"
- PutAttachment ".\Plugin" ,"RegDll.dll"
- call Plugin.RegDll.Reg ( "G:\test\dm.dll")
- Set dm = createobject("dm.dmsoft")
- ver = dm.ver()
- If len(ver) = 0 Then
- MessageBox "插件注册失败,检查系统是否禁用了vbs脚本权限"
- EndScript
- End If
- End Sub
复制代码361度插件下载地址:
showtopic.aspx?topicid=220054&forumpage=1&page=1
361度插件使用说明:
showtopic-286504.aspx