按键精灵后台脚本

时间:2024-03-25 08:34:17编辑:奇事君

按键精灵怎么后台啊?

[命令] 按键精灵后台简明教程(后台找色,后台鼠标点击等)
按键精灵后台简明教程(后台找色,后台鼠标点击等)
使用按键精灵有一段时间了,从前台到后台看了很多帖子,加上自己的勤奋算是成功了,自己制作了一个练级的脚本,经一月余的使用完全正常,按键精灵升级至7.0后,很多需要从论坛下载才能使用的插件都集成了,这对于新手来说是个福音,我才开始使用时,为了找这些插件费了很多周折,现在的新手真是幸福啊!!呵呵,废话少说,下面把我的一些经验和教训在这里与大家分享,希望对“想后台”的朋友有所帮助。
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)
强烈建议用这个函数,至于什么区域找色,区域照图之类,如果你的电脑速度足够快再去尝试吧。
找色是有技巧的,一定要找到一个不同画面分别对应不同颜色的点,当然只有一个点是不可靠的。我的思路是,找到几个点的颜色值记录下来,再根据这几个点的不同组合来决定脚本的走向,采取这种方法后,我在游戏时已经基本可以看到大体的画面了。


按键精灵如何设置后台运行?

把下面的语句复制到按键精灵的源文件,保存后,先让需要后台运行的窗口置于当前窗口,然后运行下面的脚本,现在可以让那个窗口在后台了。 Plugin hwnd = Window.GetKeyFocusWnd() Delay 125 Rem 开始 Plugin Window.SendKeypress(hwnd,88) Delay 200 Goto 开始请点击输入图片描述WINDOWS每打开一个窗口(包含程序运行时的窗口),以及每个窗口内的控件(按扭,输入框等)都会随机分配一个号码,这个号码就是这一窗口或控件的句柄. 获得这个句柄就可以实现在后台进行针对这个窗口(程序)的操作.例如:在这一窗口中输入一段文字,在某一座标进行单击,双击等. 提取句柄的方法可以参考按键精灵的帮助.也可以全部命令--插件命令--Windows窗口插件找到.例如:Hwnd = Plugin.Window.Find(0, "无标题 - 记事本")'查找当前打开的程序中标题为"无标题 - 记事本"的窗口,并将找到的句柄号存进Hwnd变量中,以便后面调用; 需要注意的是:任何一个窗口关闭后再打开,对应的句柄将会被重新分配.请点击输入图片描述步骤第一步:进入编辑器在主界面上点击“新建脚本”,然后选择“空白脚本”。[1]第二步:插入脚本按键精灵提供了非常简单的插入脚本方式,使用普通命令面板就可以完成整个插入脚本的过程。我们要制作的是鼠标连点器,所以要找的就是鼠标的命令。点击在编辑器左边的【脚本】,然后点击【基本命令】,最后点击【鼠标命令】。这时鼠标的命令就展开了。我们可以看到界面上有鼠标动作的命令,默认的命令是【左键单击】,点击【下拉框】还可以看到其他的鼠标命令,例如【右键单击】、【左键双击】等等。我们就使用【左键点击】就可以了,循环按键次数我们先设置为“1次”,最后点击【插入】。接着同样点击【脚本】,打开【基本命令】,最后点击【其他命令】。这时延时的命令就展开了。默认的延时单位是【秒】,点击【下拉框】还可以看到另外一个时间单位【毫秒】。我们就使用【毫秒】就可以了,时间我们先设置为“500”,最后点击【插入】。第三步:修改描述点击编辑器左侧的“脚本属性“打开基本设置界面。然后修改描述和文件名,建议大家将描述名和文件名取同一个名字。第四步:设置热键设置热键也是在基本设置选项卡进行设置。只要点击【热键】里面的【启动热键】,然后按下你想要设置的启动键和中止键,比如F10和F12。第五步:设置脚本无限循环点击编辑器左侧的【脚本属性】打开【基本设置】界面。在“运行“类目下选择【循环到按中止键为止】第六步:保存脚本到这里整个脚本已经制作完毕了,最后一步就是保存了。直接点击工具栏上的【保存退出】。退出后选择【我的脚本】,接着就可以在主界面看到这个脚本了,按下对应的启动热键就可以启动脚本了。请点击输入图片描述这就是按键精灵中的“伪后台”现象了。 按键精灵的后台插件很粗糙,对于大多数游戏来说,并不能真正的支持后台。于是就出现了这样的,前台可以生效,但真正后台却无效的情况。 这种情况,lz可以用神盾试试可否改善。但是别抱太大希望。 同时lz最好结合大漠插件重新做一个脚本,大漠插件的后台还是不错的。 希望对您有帮助。请点击输入图片描述

按键精灵脚本后台运行问题

录制的脚本因为取样时间比较短,会产生许多无效操作语句,你将录制的脚本进行简化后,参照以下方法就能轻松搞定了。

如何制作按键精灵后台脚本
制作按键精灵后台脚本要了解以下内容:
1、
按键精灵后台脚本普遍使用361后台插件实现,可以到网上下载这个插件。
2、
按键精灵后台脚本是通过窗口句柄对后台窗口进行操作的。
3、
按键精灵后台脚本中的坐标是以后台窗口左上角为原点的坐标系,与前台以屏幕左上角为原点类似。

第一条,361后台插件,如果你找不着,你可以不用往下看了。
第二条,如何获得窗口句柄。
我经常用plugin
hwnd=window.getkeyfocuswnd()
获得当前窗口的句柄hwnd。
如果向窗口发送k键,则用plugin
bkgnd.keypress(hwnd,75)来实现。
第三条,这是许多人转不过弯的地方。
假定窗口左上角坐标为屏幕坐标系的(100,200),那么前台语句
moveto
328,
239
leftclick
1
与后台语句
plugin
bkgnd.leftclick(hwnd,228,39)
是同样的效果。
如果把窗口左上角移动到屏幕坐标系(155,89)处,前台语句
moveto
383,128
leftclick
1
与后台语句
plugin
bkgnd.leftclick(hwnd,228,39)
也是同样的效果。
可以清楚看到,移动窗口后,前台坐标需要改变,而后台坐标则不变。仔细体会一下,屏幕坐标系和窗口坐标系的区别。
它们的关系是
x=328-100,y=239-200

x=383-155,y=128-89
窗口坐标=屏幕坐标-窗口坐标系原点坐标

如果你实在体会不了屏幕坐标系和窗口坐标系的区别,请往下看。
plugin
hwnd=window.getkeyfocuswnd()
plugin
s
=
window.getclientrect(hwnd)
myarray
=
split(s,
"|",
-1,
1)
sx
=
myarray(0)
sy
=
myarray(1)
这一段是获得窗口坐标系原点坐标(sx,sy),当你需要把前台脚本改为后台脚本时,只需要套用公式
窗口坐标=屏幕坐标-窗口坐标系原点坐标
就行了。
你也许会问,这样改后,移动窗口时,脚本会不会乱点,答案是不会。


上一篇:自动识别

下一篇:什么是pe