好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

真正能实现后台运行的按键精灵代码支持最小化和切换窗口.doc

6页
  • 卖家[上传人]:M****1
  • 文档编号:545562251
  • 上传时间:2024-01-03
  • 文档格式:DOC
  • 文档大小:22.50KB
  • / 6 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 真正能实现后台运营的按键精灵代码支持最小化和切换窗口能真正后台运营的按键精灵代码是附2,具体应用是附3.均可直接复制使用.主题:按键精灵 切换窗口 最小化 后台运营 游戏 1、游戏句柄后台的意思就是当窗口被遮盖或移开的时候,仍可以正常的执行脚本动作,因此必须先找到该游戏的窗口句柄,这样可以保证我们编辑的脚本语句有对的的使用方向,获取窗口句柄的措施有诸多,我一般使用如下的措施:ﻫDim hwndﻫPlugin hwnd=Window.MousePoint()Plugin是调用插件命令,但凡调用插件都需要使用这个命令,hwnd就是得到的句柄,Window是插件的名称MousePoint()返回鼠标所在的窗口的句柄ﻫ有关窗口这里需要多说几句,以网页游戏为例,鼠标放在标题栏上和放在游戏窗口所得到的句柄是不同样的,游戏窗口是IE的一种子窗口,因此在运营脚本前,将你的鼠标放在游戏窗口的区域内再运营脚本得到句柄费函数诸多,有爱好的自己去试试看,但是懂得一种就足够了ﻫ2、模拟动作ﻫ得到窗口句柄后,你就可以向这个窗口模拟需要的动作了,在这里要用到按键精灵7的插件(既然已有7了此前的插件就不作简介了),模拟动作的函数有如下几种-模拟鼠标点击Plugin Bkgnd.LeftClick(句柄,横坐标,纵坐标) //模拟鼠标左键点击Plugin Bkgnd.RightClick(句柄,横坐标,纵坐标) //模拟鼠标右键点击ﻫ其中的句柄就是上面我们已经得到的句柄,这里的横坐标和纵坐标是针对游戏窗口,而不是针对屏幕的(看晕了吧^_^有关这一点足足困扰了我一种礼拜的时间才弄明白)。

      ﻫ屏幕坐标,是以屏幕左上角为基点(0,0),右下角的坐标是和屏幕辨别率有关的,而窗口坐标,不是在屏幕的左上角,例如word中的编辑窗口的0,0位置是在工具栏下面的,看不懂也没关系,你只要记住下面的措施就行了,一方面在得到窗口句柄后加上如下的代码:Plugin s = Window.GetClientRect(hwnd)XYArray = Split(s, "|", -1, 1)dx = XYArray(0)dy = XYarray(1)ﻫ另一方面,在横坐标和纵坐标的背面都分别减去dx和dy就行了,为什么!!不用去管她,反正这样做不会错,举例阐明例如你抓点得到的横坐标是x,纵坐标是y,那么模拟鼠标左键点击的语句应当是这样的:Plugin Bkgnd.LeftClick(句柄x-dx,y-dy)-模拟键盘动作ﻫPlugin Bkgnd.KeyPress(句柄,按键码) //模拟键盘动作ﻫ这里的按键码可以很容易的在按键精灵中查到,涉及组合键ﻫ-输入字符串ﻫPlugin Window.SendString(句柄,字符串)这个函数在登陆和喊话时是非常有用的,其中的字符串可以是字符串变量ﻫ3、后台找色后台脚本尽量少用找色语句,否则你的游戏将“卡巴死机”,虽然少用也会浮现诸多的“马赛克”幸运的是不影响找色功能,虽然游戏图像已经乱七八糟,既然是要后台操作,难看就难看吧^_^。

      ﻫPlugin c1=BkgndColor.GetPixelColor(hwnd,631-dx,121-dy)ﻫ强烈建议用这个函数,至于什么区域找色,区域照图之类,如果你的电脑速度足够快再去尝试吧找色是有技巧的,一定要找到一种不同画面分别相应不同颜色的点,固然只有一种点是不可靠的我的思路是,找到几种点的颜色值记录下来,再根据这几种点的不同组合来决定脚本的走向,采用这种措施后,我在游戏时已经基本可以看到大体的画面了ﻫ 附1ﻫDelay 3000ﻫHwnd = Plugin.Window.MousePoint()Rem aﻫCall Plugin.Bkgnd.KeyPress(Hwnd, 50)Delay 5000  Goto a附2:另一种(试了可行,可直接复制应用)SetSimMode 1UserVar yanshi=1000 隔多久按一次//下面这句是得到鼠标指向的窗口句柄ﻫPlugin Hwnd = Window.MousePoint()ﻫRem sPlugin Bkgnd.KeyPress(Hwnd, 49)ﻫDelay yanshiﻫPlugin Bkgnd.KeyPress(Hwnd, 50)ﻫDelay yanshiﻫPlugin Bkgnd.KeyPress(Hwnd, 51)ﻫDelay yanshiPlugin Bkgnd.KeyPress(Hwnd, 52)ﻫDelay yanshiPlugin Bkgnd.KeyPress(Hwnd, 53)ﻫDelay yanshiﻫPlugin Bkgnd.KeyPress(Hwnd, 54)ﻫDelay yanshiGoto s附3,基于附2自己弄的一种后台运营代码,其中UserVar yanshi=200 是背面用这句代码的地方"隔多久按一次",也可直接用时间替代.此句无关紧要.Rem s 至Goto s期间的代码为找到窗口句柄后的要运营的代码,我们想要的鼠标按键操作都在这期间内.Delay 300延时多少时间,好象是1秒=10000还是多少,在按键精灵里一看就晓得.For 3至EndFor期间为循环执行的命令,可以直接在控制命令里面插入,也可手动录入.简朴的说,下面的命令或者说能达到的效果就是 "打开一种要运营按键精灵的窗口后,按一下`(代码192),再依次按下1(代码49),2,3,中间间隔时间为yanshi(前面设定为200,也可直接录入200),按下空格键,循环三遍后,再按下8,然后按上面措施分别按下4,5,6循环三遍后再按下7,最后结束."注旨在设立的最右面设立循环次数为"按中断键才中断",如下代码直接复制后即可使用.要按其她的键盘参照改动即可.可在记事本中看一下调试的具体成果.(从SetSimMode 1开始复制至结束) SetSimMode 1ﻫUserVar yanshi=200 隔多久按一次ﻫ//下面这句是得到鼠标指向的窗口句柄ﻫPlugin Hwnd = Window.MousePoint()ﻫRem sDelay 300ﻫFor 3    Plugin Bkgnd.KeyPress(Hwnd, 192)ﻫ    Plugin Bkgnd.KeyPress(Hwnd, 49)ﻫ    Delay yanshiﻫ    Plugin Bkgnd.KeyPress(Hwnd, 50)ﻫ    Delay yanshiﻫ    Plugin Bkgnd.KeyPress(Hwnd, 51)ﻫ    Delay yanshiﻫ    Plugin Bkgnd.KeyPress(Hwnd, 192)    Plugin Bkgnd.KeyPress(Hwnd, 52)    Delay yanshiﻫ    Plugin Bkgnd.KeyPress(Hwnd, 53)ﻫ    Delay yanshiﻫ    Plugin Bkgnd.KeyPress(Hwnd, 54)    Delay yanshi    Plugin Bkgnd.KeyPress(Hwnd, 32)ﻫEndFor ﻫPlugin Bkgnd.KeyPress(Hwnd, 104)Delay 300ﻫFor 3ﻫ    Plugin Bkgnd.KeyPress(Hwnd, 192)    Plugin Bkgnd.KeyPress(Hwnd, 49)ﻫ    Delay yanshi    Plugin Bkgnd.KeyPress(Hwnd, 50)    Delay yanshiﻫ    Plugin Bkgnd.KeyPress(Hwnd, 51)    Delay yanshi    Plugin Bkgnd.KeyPress(Hwnd, 192)ﻫ    Plugin Bkgnd.KeyPress(Hwnd, 52)    Delay yanshi    Plugin Bkgnd.KeyPress(Hwnd, 53)ﻫ    Delay yanshiﻫ    Plugin Bkgnd.KeyPress(Hwnd, 54)ﻫ    Delay yanshiﻫ    Plugin Bkgnd.KeyPress(Hwnd, 32)EndFor Plugin Bkgnd.KeyPress(Hwnd, 103)ﻫGoto sﻫ 附四:补充一种练习,试了N次均能正常运营的后台操作源代码.权当实验练习用.//能后台运营的仙域钓鱼脚本自编源代码.阐明:单击指点坐标,7秒后,按0一次,再按[四次,在单击另一指定坐标,在弹出的对话框指定坐标处单击.再对此外三处不同的坐标点做相似操作.SetSimMode 1ﻫ//模拟方式 1为硬件模拟,2为越级模拟 0为一般模拟ﻫDim hwndﻫUserVar yanshi=300ﻫ//间隔时间,也可设立如红蓝低于某个数时自动运营动作.Plugin Hwnd = Window.MousePoint()//上面这句是得到鼠标指向的窗口句柄Rem aaa//标记任意点aaa,或者说起始点,到标记goto处结束//下面几句是得到目的点的相对坐标Plugin s = Window.GetClientRect(hwnd)ﻫXYArray = Split(s, "|", -1, 1)dx = XYArray(0)ﻫdy = XYarray(1)//上面四句代码得到目的坐标的相对坐标的dx和dy值ﻫPlugin Bkgnd.LeftClick(hwnd,500-dx,300-dy)//在坐标(500,300)单击左键ﻫDelay 7000Plugin Bkgnd.KeyPress(Hwnd,96)//按一下0键Delay yanshiﻫPlugin Bkgnd.KeyPress(Hwnd,219)ﻫ//按一下[键ﻫDelay yanshiﻫPlugin Bkgnd.KeyPress(Hwnd,219)Delay yanshiPlugin Bkgnd.KeyPress(Hwnd,219)ﻫDelay yanshiPlugin Bkgnd.KeyPress(Hwnd,219)Delay yanshiPlugin Bkgnd.LeftClick(hwnd,670-dx,170-dy)ﻫ//在坐标(670,170)单击左键Delay yanshiPlugin Bkgnd.LeftClick(hwnd,350-dx,510-dy)ﻫ//在坐标(350,510)单击左键ﻫDelay yanshiﻫDelay 3000ﻫ//上面是第一种号,背面几种号同理操作,不再反复解说Plugin Bkgnd.LeftClick(hwnd,500-dx,400-dy)ﻫ//在坐标(500,400)单击左键Delay 3000Plugin Bkgnd.KeyPress(Hwnd,96)Delay yanshiPlugin Bkgnd.KeyPress(Hwnd,219)ﻫDelay yanshiﻫPlugin Bkgnd.KeyPress(Hwnd,219)ﻫDelay yanshiPlugin Bkgnd.KeyPress(Hwnd,219)ﻫDelay yanshiﻫPlugin Bkgnd.KeyPress(Hwnd,219)ﻫDelay yanshiPlugin Bkgnd.LeftClick(hwnd,670-dx,170-dy)Delay yanshiPlugin Bkgnd.L。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.