在上一节课《自动加血》的最后面我们提到了移动游戏窗口后,坐标失效,导致无法自动加血,今天我们教大家如何实现可以随意移动窗口的自动加血脚本。
这里我们先了解一个窗口知识,每一个窗口都有独一无二的窗口句柄,这就好比我们每个人都有一个自己的身份证号码。这个窗口句柄是操作系统随机分配的,那么这就导致每次打开窗口时,它的窗口句柄都是不固定的,所以我们要先想办法去获得最新准确的窗口句柄。
在得到了准确窗口句柄后,每个窗口都有自己的属性特征,例如我们每个人都有自己的身高体重一样,每个窗口都有自己所在的坐标位置等信息。我们可以通过这个属性特征,让脚本启动后,把这个窗口移动到指定位置,这样就不怕窗口被随意移动了。当然也可以通过计算偏移坐标等方式,但这种较为复杂,这里暂不讨论。
首先,我们先搞定窗口句柄这方面内容,这里打开按键精灵和抓抓等步骤就不再赘述了。
1.
点击抓抓左边的句柄按钮,然后在枪靶图标上按住鼠标左键并移动到游戏窗口上后松开,此时下方会显示当前窗口的具体信息。

2.
在按键精灵上新建脚本后,点击全部命令,在出来的列表中找到插件命令下的Window窗口插件

3.
在Window窗口插件下面找到Find查找窗口句柄这个命令,点它。然后在下方弹出的窗口面板里的参数内容填写上面抓抓得到的类名与标题,记得要加英文双引号!填写完成后点击插入。这句代码的作用是找到游戏窗口句柄,保存到变量Hwnd中,如果无法理解也没关系,以后我们会讲解。

4.
在Window窗口插件中找到Move移动窗口命令,点击它,然后点插入。这句代码作用是将窗口句柄Hwnd对应的窗口移动到屏幕坐标100,100位置上,这个位置你可以随意改动。通过这步操作,我们实现每次执行代码,都会将窗口位置还原,避免了窗口移动导致的坐标失效问题。

5.
在上一次课程中,我们发现要先激活游戏窗口,再按下快捷键启动脚本,非常麻烦,这次我们让脚本自动激活窗口,省去手动切换窗口的琐事。在Window窗口插件中找到Active激活窗口命令,点击插入。这句代码作用就是激活窗口句柄为变量Hwnd的窗口。同时也请大家注意下右边代码顺序,别弄乱了,代码是从上到下一步一步执行的。假如没有第一句的查找窗口句柄保存到变量Hwnd中。后面的代码将全部失效!

6.
然后,我们先调试运行下这段代码,让游戏窗口位置固定住,因为我们接下来跟重复上一节课的步骤,获取颜色数据等信息,但是如果窗口位置没归位,会导致坐标全部失效的。这段代码运行后,你会发现游戏窗口位置被移动了,然后就没其他效果了。因为我们都还没写其他的代码,哈哈。
